Wykorzystanie map i geolokalizacji

Wielkość: px
Rozpocząć pokaz od strony:

Download "Wykorzystanie map i geolokalizacji"

Transkrypt

1 Strona 1 Usługi oparte na położeniu geograficznym Generowanie klucza interfejsu API dla mapy Wyświetlanie mapy Dodawanie własnych danych do mapy Położenie geograficzne Klasa Geocoder i geokodowanie Geokodowanie w tle Usługa LocationManager Klasa MyLocationOverlay Uwaga: cały wykład dotyczy Google Maps API ver. 1 Obsługa zdarzeń dotyku na mapie

2 Strona 2 Usługi oparte na położeniu geograficznym Android SDK zawiera interfejsy API dzięki którym możliwe jest: 1) wyświetlanie map (kontrolka MapView, klasa MapActivity, usługi Google Maps), 2) manipulowanie mapami (przesuwanie i przybliżanie widoku mapy, zmiana trybu wyświetlania mapy, nakładanie na mapę własnych informacji itp.), 3) uzyskiwanie informacji o położeniu geograficznym urządzenia mobilnego w czasie rzeczywistym (klasa Geocoder, usługa LocationManager), 4) programowa obsługa odbiornika GPS (Global Positioning System). Przeznaczone są do tego: interfejs API map: com.google.android.maps (dla punktów 1 i 2), interfejs API lokalizacji: android.location (dla punktów 3 i 4). Interfejsy te wymagają połączenia internetowego z usługami na serwerach firmy Google oraz zarejestrowania się w celu uzyskania klucza API dla map.

3 Strona 3 Klucz interfejsu API dla mapy Klucz interfejsu API dla mapy jest niezbędny do nawiązania połączenia z usługą Google Maps i pobrania mapy na urządzenie mobilne. W pewnych sytuacjach, niezbędne mogą być dwa klucze: klucz wykorzystywany podczas działania aplikacji w emulatorze, klucz wykorzystywany podczas działania aplikacji w fizycznym urządzeniu. Aplikacja uruchamiana w emulatorze (na etapie jej tworzenia), podpisywana jest automatycznie tzw. certyfikatem testowym, tworzonym przez środowisko Eclipse. Aplikacja dystrybucyjna (finalna, uruchamiana na fizycznym urządzeniu użytkownika), podpisywana jest przez programistę (np. za pomocą programu jarsigner ) certyfikatem tworzonym przez program keytool. Do podpisu nie można użyć certyfikatu testowego. Oba programy są dostępne w pakiecie Java JDK.

4 Strona 4 Generowanie klucza interfejsu API dla mapy W celu uzyskania klucza interfejsu API dla mapy należy: 1) odnaleźć certyfikat testowy, który będzie użyty do podpisania aplikacji w emulatorze. Certyfikat testowy na potrzeby emulatora jest tworzony przez środowisko Eclipse (menu Window Preferences Android Build ścieżka pliku certyfikatu debug.keystore jest widoczna w polu Default debug keystore); 2) uzyskać odcisk palca MD5 certyfikatu służy do tego program keytool uruchamiany w wierszu poleceń, dostępny w podkatalogu bin instalacji pakietu Java JDK. nazwa testowego magazynu kluczy keytool v list alias androiddebugkey -keystore pełna ścieżka do pliku debug.keystore -storepass android keypass android hasło do magazynu kluczy hasło do klucza prywatnego Uwaga: nazwy parametrów są istotne nie należy ich zmieniać.

5 Strona 5 Generowanie klucza interfejsu API dla mapy (c.d.) 3) odcisk palca MD5 certyfikatu testowego zostanie wyświetlony na ekranie po komunikacie Certificate fingerprints (MD5):, np. Certificate fingerprints (MD5): 94:1E:43:49:87:73:BB:E6:A6:88:D7:20:F1:8E:B5:98 4) jeżeli nie posiadamy jeszcze konta pocztowego Google, należy utworzyć je na stronie (przycisk Zarejestruj się ). 5) na stronie internetowej Google: należy wprowadzić odcisk palca MD5 (patrz krok 3) w polu My certificate's MD5 fingerprint. 6) podczas generowania klucza konieczne będzie zalogowanie się na konto Google (patrz krok 4). 7) po kliknięciu przycisku Generate API Key zostanie wygenerowany klucz skojarzony z certyfikatem testowym. W podobny sposób można wygenerować klucz interfejsu API mapy dla dowolnego certyfikatu utworzonego programem keytool.

6 Strona 6 Kontrolka MapView Do wyświetlania mapy służy kontrolka MapView oraz współpracująca z nią klasa android.app.mapactivity. Opis właściwości kontrolki MapView w pliku XML zawiera pole android:apikey, w którym należy podać klucz interfejsu API dla mapy. Jeżeli kontrolka MapView tworzona jest i opisywana całkowicie w kodzie Java, to klucz ten należy podać jako argument konstruktora. <LinearLayout xmlns:android=" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <com.google.android.maps.mapview android:id="@+id/mapa" </LinearLayout> android:layout_width="fill_parent" android:layout_height="fill_parent" android:enabled="true" android:clickable="true" android:apikey="xxx" /> możliwość przesuwanie mapy (dla wartości false możliwe jest jedynie przybliżanie i oddalanie widoku) tu należy wprowadzić klucz interfejsu API dla mapy (Maps API Key)

7 Strona 7 Metody klasy MapView Wygląd wyświetlanej mapy można ustalać następującymi metodami: metoda MapController getcontroller() getcontroller().zoomin() getcontroller().zoomout() getcontroller().setzoom(int) getcontroller().setcenter(geopoint) setsatellite(boolean) setstreetview(boolean) settraffic(boolean) setclickable(boolean) setbuiltinzoomcontrols(boolean) przeznaczenie pobranie kontrolera mapy przybliżenie widoku mapy oddalenie widoku mapy ustalenie przybliżenia widoku (wartość 1 21) centrum widoku to współrzędne obiektu kl. GeoPoint wyświetlanie mapy w trybie widoku z satelity (zdjęcia satelitarne) wyświetlanie mapy w trybie widoku ulic (obrys ulic w kolorze niebieskim) wyświetlanie mapy w trybie ruchu ulicznego (kolorowe linie oznaczają ulice łatwo przejezdne i zakorkowane ) możliwość przesuwania mapy umieszczenie na mapie standardowych kontrolek minus i plus do oddalania i przybliżania widoku mapy

8 Strona 8 Wyświetlanie mapy Aktywność używająca kontrolki MapView musi dziedziczyć po klasie MapActivity. public class Mapa extends MapActivity private MapView mv; protected void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); setcontentview(r.layout.main); mv = (MapView) findviewbyid(r.id.mapa); protected boolean islocationdisplayed() return false; // położenie geograficzne nie jest wyświetlane protected boolean isroutedisplayed() return false; // wyznaczana trasa nie jest wyświetlana

9 Strona 9 Wyświetlanie mapy uprawnienia aplikacji Dane do wyświetlania mapy pochodzą z serwera usługi Google Maps, dlatego wymagane jest nadania dla aplikacji odpowiedniego uprawnienia do łączenia się z Internetem. Uzyskanie informacji geolokalizacyjnych wymaga z kolei nadania dla aplikacji dwóch kolejnych uprawnień. Konieczne jest również zadeklarowanie w manifeście aplikacji użycia biblioteki com.google.android.maps. <?xml version="1.0" encoding="utf-8"?> <manifest Wymagane uprawnienia... <application... <uses-library android:name="com.google.android.maps" /> </application> <uses-permission android:name="android.permission.internet" /> <uses-permission android:name="android.permission.access_coarse_location" /> <uses-permission android:name="android.permission.access_fine_location" />... </manifest>

10 Strona 10 Dodawanie własnych danych do mapy Usługa Google Maps umożliwia umieszczanie na wyświetlanej mapie warstwy (tzw. nakładki) zawierającej dodatkowe informacje. Mogą to być np. lokalizacje punktów widoczne jako znaczniki w postaci obrazków. Do obsługi warstwy mapy z dodatkowymi informacjami służą klasy-nakładki Overlay i ItemizedOverlay. Dodatkowe dane dla mapy należy zdefiniować w obiekcie klasy pochodnej po ItemizedOverlay. protected Oto zmodyfikowana void oncreate(bundle w tym celu metoda savedinstancestate) oncreate: super.oncreate(savedinstancestate); setcontentview(r.layout.main); mv = (MapView) findviewbyid(r.id.mapa); identyfikator obrazka z katalogu /res/drawable rysowanego jako znacznik na mapie Drawable znacznik = getresources().getdrawable(r.drawable.marker); znacznik.setbounds(0, 0, znacznik.getintrinsicwidth(), znacznik.getintrinsicheight()); NaszeLokalizacje miejsca = new NaszeLokalizacje(znacznik); mv.getoverlays().add(miejsca); GeoPoint punkt = miejsca.getcenter(); mv.getcontroller().setcenter(punkt); mv.getcontroller().setzoom(15); pierwszy punkt jako środek mapy obiekt klasy definiującej lokalizacje na mapie otrzymuje obrazek dla znaczników dodanie warstwy do mapy

11 Strona 11 Dodawanie własnych danych do mapy (c.d.) class NaszeLokalizacje extends ItemizedOverlay kontener lokalizacji (lokalizacje na mapie to obiekty OverlayItem) private List<OverlayItem> lokalizacje = new ArrayList<OverlayItem>(); private Drawable marker; public NaszeLokalizacje(Drawable marker) super(marker); this.marker = marker; GeoPoint miejsce1 = new GeoPoint( , ); lokalizacje.add(new OverlayItem(miejsce1, Miejsce1, Miejsce1 ); populate(); zapis kontenera do pamięci podręcznej public void draw(canvas canvas, MapView mapview, boolean shadow) super.draw(canvas, mapview, shadow); boundcenterbottom(marker); dodanie lokalizacji do kontenera tworzenie lokalizacji jako obiektu klasy GeoPoint (szer. i dług. geograficzna w mikrostopniach) Na tej samej zasadzie można utworzyć kolejne lokalizacje: miejsce2, miejsce3 itd. zakotwiczenie obrazka znacznika względem punktu na mapie (tutaj środek dolnej krawędzi obrazka) protected OverlayItem createitem(int i) return lokalizacje.get(i); protected int size() return lokalizacje.size();

12 Strona 12 Położenie geograficzne Pakiet android.location zawiera trzy elementy istotne z punktu widzenia określania położenia geograficznego: klasa GeoPoint obiekt tej klasy określa położenie geograficzne w postaci pary współrzędnych: długości geograficznej (ang. longitute) i szerokości geograficznej (ang. latitude). Parametrami konstruktora są długość i szerokość wyrażone w mikrostopniach (pomnożone przez ) i zrzutowane na typ int. np. Koszalin N E (DMS: stopnie, min, sek) szerokość (DMF: stopnie setne) długość GeoPoint((int) ( *1e6), (int) ( *1e6)) klasa Geocoder obiekt tej klasy (tzw. geokoder) służy do geokodowania (geolokalizacji), czyli konwersji pomiędzy adresem miejsca, a współrzędnymi geograficznymi. Możliwa jest konwersja w obie strony. usługa LocationManager umożliwia określenie bieżącego położenia urządzenia mobilnego.

13 Strona 13 Klasa Geocoder Metody klasy Geocoder (zwracają listę adresów pasujących do argumentów): List<Address> getfromlocation(double latitude, double longitude, int maxresults) konwertuje współrzędne geograficzne na listę odpowiadających im adresów List<Address> getfromlocation(string locationname, int maxresults) konwertuje adres na listę odpowiadających im współrzędnych List<Address> getfromlocationname(string locationname, int maxresults, double lowerleftlatitude, double lowerleftlongitude, double upperrightlatitude, double upperrightlongitude) konwertuje adres na listę współrzędnych latitude longitude maxresults szerokość geograficzna długość geograficzna prostokątne otoczenie adresu (miejsca) maksymalna liczba wyników 1 5 (ograniczenie) locationname adres, nazwa miejsca lub nazwa zwyczajowa geokodowanie odwrotne geokodowanie

14 Strona 14 Przykład geokodowania public class Mapa extends MapActivity private MapView mv = null; private Geocoder gc = null; private List<Address> adresy = null; protected boolean islocationdisplayed() return false; // położenie geograficzne nie jest wyświetlane protected boolean isroutedisplayed() return false; // wyznaczana trasa nie jest wyświetlana protected void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); setcontentview(r.layout.main); mv = (MapView) findviewbyid(r.id.mapa); //...

15 Strona 15 Przykład geokodowania (c.d.) int szer = (int)( *1e6); // latitude int dlug = (int)( *1e6); // longitude GeoPoint gp = new GeoPoint(szer, dlug); mv.getcontroller().setcenter(gp); mv.getcontroller().setzoom(10); gc = new Geocoder(this); try String nazwa = Politechnika Koszalińska ; adresy = gc.getfromlocationname(nazwa, 5); if (adresy!= null && adresy.size() > 0) szer = (int) (adresy.get(0).getlatitude()*1e6); dlug = (int) (adresy.get(0).getlongitude()*1e6); gp = new GeoPoint(szer, dlug); mv.getcontroller().setcenter(gp); mv.getcontroller().setzoom(10); catch (IOException e) // koniec metody oncreate // koniec klasy Mapa nazwa miejsca, lokalizacji zwrócona lista adresów przetwarzanie pierwszego adresu z listy zaktualizowanie mapy o wynik geokodowania

16 Strona 16 Geokodowanie w tle Zalecane jest przeprowadzanie geokodowania w wątku innym niż wątek interfejsu użytkownika (metoda oncreate), ponieważ: geokodowanie może być procesem czasochłonnym i powodować przestoje w interfejsie użytkownika, połączenie sieciowe wymagane do geokodowania może zostać nieoczekiwanie przerwane. Należy kolejno: w interfejsie użytkownika zainicjować czynność geokodowania, utworzyć i uruchomić wątek przeznaczony do geokodowania, po zakończeniu wątku poinformować interfejs użytkownika o konieczności jego aktualizacji lub wysłać powiadomienie.

17 Strona 17 Przykład geokodowania w tle int szer = (int)( *1e6); // latitude int dlug = (int)( *1e6); // longitude GeoPoint gp = new GeoPoint(szer, dlug); mv.getcontroller().setcenter(gp); mv.getcontroller().setzoom(10); gc = new Geocoder(this); String nazwa = Politechnika Koszalińska ; ProgressDialog pd = ProgressDialog.show(Activity.this, Geokodowanie..., Szukanie lokalizacji..., true, false); szukaj_lokalizacji(nazwa); fragment zmienionej metody oncreate ze str. 94 nazwa miejsca, lokalizacji okno dialogowe postępu private void szukaj_lokalizacji(final String s) Thread t = new Thread() utworzenie wątku public void run() geokodowanie w tle try adresy = gc.getfromlocationname(s, 5); uicallback.sendemptymessage(0); catch (IOException e) wysłanie komunikatu do procedury ; obsługi zdarzeń w celu przetworzenia t.start(); uruchomienie wątku wyników geokodowania

18 Strona 18 Przykład geokodowania w tle (c.d.) private Handler uicallback = new Handler() public void handlemessage(message msg) ; usunięcie okna dialogowego postępu pd.dismiss(); if (adresy!= null && adresy.size() > 0) int szer = (int) (adresy.get(0).getlatitude()*1e6); int dlug = (int) (adresy.get(0).getlongitude()*1e6); GeoPoint gp = new GeoPoint(szer, dlug); else mv.getcontroller().setcenter(gp); mv.getcontroller().setzoom(10); zaktualizowanie mapy o wynik geokodowania Procedura obsługi wywołania zwrotnego w wątku interfejsu użytkownika przetwarzanie pierwszego adresu z listy Toast toast = Toast.makeText(Activity.this, Nie znaleziono lokalizacji, Toast.LENGTH_LONG); toast.show();

19 Strona 19 Usługa LocationManager Usługa LocationManager z pakietu android.location umożliwia: uzyskanie współrzędnych geograficznych urządzenia mobilnego, poinformowanie za pomocą intencji o znalezieniu się urządzenia mobilnego w określonym obszarze geograficznym. Usługa LocationManager to usługa systemowa, dlatego nie jest tworzona bezpośrednio należy uzyskać do niej dostęp z kontekstu metodą getsystemservice wykorzystując nazwę usługi. Informacje o położeniu geograficznym dostarczane są poprzez tzw. dostawców lokacji. Wyróżnia się: dostawców lokacji systemu GPS (LocationManager.GPS_PROVIDER) : położenie określane jest przy użyciu systemu satelitarnego GPS, sieciowych dostawców lokacji (LocationManager.NETWORK_PROVIDER): położenie określane jest w oparciu o stacje bazowe operatorów sieci GSM lub sieci bezprzewodowe Wi-Fi.

20 Strona 20 Wzorzec użycia usługi LocationManager public class LocationManagerTest extends Activity protected void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); LocationManager lm; nazwa usługi lm = (LocationManager)this.getSystemService(Context.LOCATION_SERVICE); Location lok = lm.getlastknownlocation(locationmanager.gps_provider); List<String> lista = lm.getallproviders(); String dostawca = lm.getprovider(locationmanager.gps_provider); Obiekt lok zawiera następujące dane: szerokość geograficzna długość geograficzna data ostatniej aktualizacji położenia wysokość n.p.m. prędkość opcjonalnie peleng lista wszystkich dostawców lokacji uzyskanie wybranego dostawcy lokacji uzyskanie dostępu do usługi systemowej informacje dotyczące ostatniej znanej pozycji urządzenia nazwa dostawcy lokacji: GPS_PROVIDER lub NETWORK_PROVIDER

21 Strona 21 Nasłuch zmian położenia geograficznego Implementacja obiektu nasłuchiwacza zmian położenia geograficznego: public class LocationManagerTest extends Activity protected void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); nazwa usługi LocationManager lm = (LocationManager)this.getSystemService(Context.LOCATION_SERVICE); LocationListener loclis = new LocationListener() public void onlocationchanged(location loc) if (loc!= null) nowe położenie Toast.makeText(getBaseContext(), Nowe współrzędne: szer + loc.getlatidude() +, dlug + loc.getlongitude(),toast.length_short).show(); public void onproviderdisabled(string provider) public void onproviderenabled(string provider) public void onstatuschanged(string provider, int status, Bundle extras) ; lm.requestlocationupdates(locationmanager.gps_provider, 0, 0, loclis); Do działania konieczne jest okresowe przesyłanie do emulatora informacji o położeniu. metoda nasłuchiwacza wołana po zmianie położenia geograficznego zarejestrowanie nasłuchiwacza odbierającego zdarzenia aktualizacji położenia nazwa dostawcy lokacji, mintime w ms, mindistance w m, zerowe => informacje o położeniu przesyłane jak najczęściej

22 Strona 22 Symulacja zmian położenia geograficznego w emulatorze Symulowane wartości współrzędnych geograficznych można przesłać do emulatora za pomocą monitora sprawdzania błędów maszyny wirtualnej DDMS (Dalvik Debug Monitor Service) dostępnego w środowisku Eclipse. Należy w tym celu w perspektywie DDMS, w oknie Emulator Control przejść do sekcji Location Controls i wybrać zakładkę Manual (str. 103). Wprowadzenie współrzędnych geograficznych (str. 103) i kliknięcie przycisku Send spowoduje automatyczne uruchomienie metody onlocationchanged (str. 101) reagującej w nasłuchiwaczu na zmianę położenia geograficznego. Możliwe jest również zautomatyzowanie procesu symulacji zmian położenia geograficznego. W zakładkach Emulator Control GPX i KML (str. 104) możliwe jest wczytanie plików GPX lub KML zawierających zestaw współrzędnych i skonfigurować szybkość odtwarzania danych z tych plików.

23 Strona 23 Okno środowiska Eclipse do symulacji odczytu położenia geograficznego z GPS symulowana długość geograficzna symulowana szerokość geograficzna przycisk wysyłający współrzędne do emulatora

24 Strona 24 Okna środowiska Eclipse do symulacji zmian położenia geograficznego okno do obsługi plików w formacie GPX (GPS Exchange Format) okno do obsługi plików w formacie KML (Keyhole Markup Language)

25 Strona 25 Klasa MyLocationOverlay Istnieje możliwość zaznaczania na wyświetlanej mapie bieżącego położenia urządzenia mobilnego w postaci niebieskiego, pulsującego kółka. Umożliwia to nakładka MyLocationOverlay dodawana do widoku mapy MapView. Bieżące położenie jest oczywiście wyznaczane przez usługę LocationManager. public class Mapa extends MapActivity private MapView mv = null; private MapController mc = null; private MyLocationOverlay mlo = null; public void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); setcontentview(r.layout.main); mv = (MapView) findviewbyid(r.id.mapa); mc = mv.getcontroller(); mc.setzoom(15); mlo = new MyLocationOverlay(this, mv); mv.getoverlays().add(mlo); mv.postinvalidate(); //... tworzenie nakładki MyLocationOverlay dodanie nakładki do widoku mapy odświeżenie mapy (wyświetlenie nakładki)

26 Strona 26 //... Wykorzystanie klasy MyLocationOverlay protected boolean islocationdisplayed() return mlo.ismylocationenabled; protected boolean isroutedisplayed() return false; // trasa nie wyświetlana public void onresume() super.onresume(); mlo.enablemylocation(); mlo.runonfirstfix(new Runnable() public void run() mc.setcenter(mlo.getmylocation()); ); public void onpause() super.onpause(); mlo.disablemylocation(); metoda zwraca true gdy położenie geograficzne jest wyświetlane metoda wywoływana po uruchomieniu aplikacji i po wyjściu ze stanu wstrzymania (pauzy): WŁĄCZONE pobieranie położenia metoda runonfirstfix umożliwia zdefiniowanie czynności wykonywanych zaraz po otrzymaniu współrzędnych położenia: tutaj jest to wyśrodkowanie mapy metoda wywoływana po przejściu w stan wstrzymania (pauzy): WYŁĄCZONE pobieranie położenia

27 Strona 27 Zdarzenia dotyku na mapie Do wbudowanych funkcji map sterowanych dotykiem należą: przybliżanie i oddalanie widoku mapy, przesuwanie mapy. Możliwe jest również definiowanie własnych czynności wykonywanych w reakcji na dotyk mapy. Klasa MapView dziedziczy po klasie View posiada zatem metodę ontouchevent() obsługującą zdarzenia dotyku. Metodę tę posiadają również nakładki (warstwy mapy): Overlay, ItemizedOverlay i MyLocationOverlay. Sposoby obsługi zdarzeń dotyku na mapie: przesłonienie metody ontouchevent() ontouchevent(motionevent e) dla mapy ontouchevent(motionevent e, MapView mv) dla nakładki użycie metody setontouchlistener() do zdefiniowania metody obsługi wywołań zwrotnych reagujących na dotyk.

28 Strona 28 Metody obsługi zdarzeń dotyku na mapie Użyteczny jest interfejs Projection klasy MapView, który pozwala konwertować współrzędne ekranowe punktu dotkniętego na mapie na współrzędne geograficzne mapy (obiekt GeoPoint) i odwrotnie. Wybrane metody interfejsu Projection: getprojection() pobranie interfejsu mapy MapView, frompixels() konwersja wsp. ekranowych mapy na geograficzne, topixels() konwersja wsp. geograficznych mapy na ekranowe. W przypadku dodatkowych warstw mapy (nakładek Overlay) przeliczanie takie nie jest konieczne zajmuje się tym metoda ontap klasy Overlay. boolean ontap(geopoint p, MapView mv) Metoda ontap jest wywoływana automatycznie po dotknięciu nakładki (warstwy mapy) obiekt klasy GeoPoint zawiera współrzędne geograficzne dotkniętego na mapie punktu.

29 Strona 29 Przykład obsługi zdarzeń dotyku na mapie Wyświetlanie współrzędnych geograficznych miejsca dotkniętego na mapie. public class Mapa extends MapActivity private MapView mv; protected void oncreate(bundle savedinstancestate) super.oncreate(savedinstancestate); setcontentview(r.layout.main); mv = (MapView) findviewbyid(r.id.mapa); NaszTouchOverlay nakladka = new NaszTouchOverlay(this); mv.getoverlays().add(nakladka); protected boolean islocationdisplayed() obiekt nakładki z obsługą dotyku dodanie nakładki do mapy return false; // położenie geograficzne nie jest wyświetlane protected boolean isroutedisplayed() return false; // wyznaczana trasa nie jest wyświetlana

30 Strona 30 Przykład obsługi zdarzeń dotyku na mapie (c.d.) Wyświetlanie współrzędnych geograficznych miejsca dotkniętego na mapie. public class NaszTouchOverlay extends Overlay private Context c; public NaszTouchOverlay(Context context) c = context; public boolean ontap(geopoint gp, MapView mapview) // dotknięto mapę w punkcie o współrzędnych geograficznych gp Toast toast = Toast.makeText(c, szer + gp.getlatitudee6()/1e6 +, dlug + gp.getlongitudee6()/1e6, Toast.LENGTH_LONG); toast.show(); return true;

Obsługa SMS i telefonii

Obsługa SMS i telefonii Strona 1 Interfejsy API telefonii Wysyłanie wiadomości SMS Odbieranie wiadomości SMS Symulowanie nadchodzących wiadomości SMS Obsługa skrzynki wiadomości SMS Wysyłanie wiadomości e-mail Monitorowanie połączeń

Bardziej szczegółowo

Programowanie urządzeń mobilnych. projekt 6 ( )

Programowanie urządzeń mobilnych. projekt 6 ( ) Programowanie urządzeń mobilnych projekt 6 (05.01.2018) Usługi lokalizacyjne Jedną z powszechniejszych funkcjonalności wykorzystywanych przez liczne aplikacje przeznaczone dla urządzeń mobilnych jest możliwość

Bardziej szczegółowo

Programowanie urządzeń mobilnych w systemie Android. Ćwiczenie 7 Wykorzystanie układu LinearLayout

Programowanie urządzeń mobilnych w systemie Android. Ćwiczenie 7 Wykorzystanie układu LinearLayout Ćwiczenie 7 Wykorzystanie układu LinearLayout Cel ćwiczenia Celem ćwiczenia jest praktyczne zapoznanie się z zasadami użycia układu graficznego LinearLayout oraz wykształcenie umiejętności zastosowania

Bardziej szczegółowo

Systemy operacyjne na platformach mobilnych

Systemy operacyjne na platformach mobilnych Systemy operacyjne na platformach mobilnych Wykład 3 Grzegorz Jabłoński, Piotr Perek Katedra Mikroelektroniki i Technik Informatycznych Zagadnienia wykładu Menu opcji ListActivity własny widok własny adapter

Bardziej szczegółowo

Android poradnik programisty

Android poradnik programisty Android poradnik programisty 93 PRZEPISY TWORZENIA DOBRYCH APLIKACJI Wei-Meng Lee APN Promise SA Spis treści Wprowadzenie.......................................................... xi 1 Podstawy systemu

Bardziej szczegółowo

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8

Programowanie Urządzeń Mobilnych. Laboratorium nr 7, 8 Programowanie Urządzeń Mobilnych Laboratorium nr 7, 8 Android Temat 1 tworzenie i uruchamianie aplikacji z użyciem Android SDK Krzysztof Bruniecki 1 Wstęp Platforma Android jest opartym na Linuxie systemem

Bardziej szczegółowo

akademia androida Pierwsze kroki w Androidzie część I

akademia androida Pierwsze kroki w Androidzie część I akademia androida Pierwsze kroki w Androidzie część I agenda Środowisko do pracy + emulator Struktura projektu z omówieniem Po co nam AndroidManifest.xml? Cykl życia aplikacji Zadanie 1. Kod, symulacja,

Bardziej szczegółowo

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.

Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby

Bardziej szczegółowo

Mobilne aplikacje multimedialne

Mobilne aplikacje multimedialne Mobilne aplikacje multimedialne Laboratorium 1 Wyznaczanie orientacji urządzenia względem lokalnego układu odniesienia autor: Krzysztof Bruniecki Gdańsk, 2013-10-08 wersja 12 Wprowadzenie Platforma Android

Bardziej szczegółowo

Systemy operacyjne na platformach mobilnych

Systemy operacyjne na platformach mobilnych Systemy operacyjne na platformach mobilnych Wykład 1 Grzegorz Jabłoński, Piotr Perek Katedra Mikroelektroniki i Technik Informatycznych Zagadnienia wykładu Wprowadzenie do systemów mobilnych System operacyjny

Bardziej szczegółowo

Programowanie urządzeń mobilnych. dr inż. Juliusz Mikoda

Programowanie urządzeń mobilnych. dr inż. Juliusz Mikoda Programowanie urządzeń mobilnych dr inż. Juliusz Mikoda Instalacja środowiska 1 Wymagane składniki środowiska Eclipse wersja 3.4 (Ganymede) lub 3.5 (Galileo classic) http://www.eclipse.org/downloads/packages/release/galileo/r

Bardziej szczegółowo

[Android] Podstawy programowania

[Android] Podstawy programowania Page 1 of 7 [Android] Podstawy programowania LinkiPrzewodnik z przykładamizasosbykrótka prezentacja wprowadzająca do budowy systemuprosta aplikacja z menu i dialogami, którą utworzymy tutaj krok po kroku

Bardziej szczegółowo

Systemy operacyjne na platformach mobilnych

Systemy operacyjne na platformach mobilnych Systemy operacyjne na platformach mobilnych Wykład 1 Grzegorz Jabłoński, Piotr Perek Katedra Mikroelektroniki i Technik Informatycznych Zagadnienia wykładu Wprowadzenie do systemów mobilnych System operacyjny

Bardziej szczegółowo

Podstawowe elementy GUI - zadania

Podstawowe elementy GUI - zadania Podstawowe elementy GUI - zadania LIVE DEMO Proszę zainstalować (rozpakować) Eclipse ADT z https://developer.android.com/sdk/index.html Proszę pobrać przez SDK Manager wszystko dotyczące Androida 4.4.2.

Bardziej szczegółowo

Fragmenty są wspierane od Androida 1.6

Fragmenty są wspierane od Androida 1.6 W androidzie można tworzyć dynamiczne interfejsy poprzez łączenie w moduły komponentów UI z aktywnościami. Moduły takie tworzy się za pomocą klasy Fragment, która zachowuje się jak zagnieżdżone aktywności

Bardziej szczegółowo

Laboratorium Systemów Mobilnych. Wykład 1

Laboratorium Systemów Mobilnych. Wykład 1 Laboratorium Systemów Mobilnych 2015-02-27 Wykład 1 (Wstęp do programowania w systemie Android) Wojciech Wawrzyniak Zaliczenie wykładu i ćwiczeń Wykład omówienie zagadnień Ćwiczenie praktyczne zastosowanie

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Laboratorium 1. Wstęp do programowania w języku Java. Narzędzia 1. Aby móc tworzyć programy w języku Java, potrzebny jest zestaw narzędzi Java Development Kit, który można ściągnąć

Bardziej szczegółowo

Programowanie urządzeń mobilnych w systemie Android. Ćwiczenie 8 Wykorzystanie układu RelativeLayout

Programowanie urządzeń mobilnych w systemie Android. Ćwiczenie 8 Wykorzystanie układu RelativeLayout Ćwiczenie 8 Wykorzystanie układu RelativeLayout Cel ćwiczenia Celem ćwiczenia jest praktyczne zapoznanie się z zasadami użycia układu graficznego RelativeLayout oraz wykształcenie umiejętności zastosowania

Bardziej szczegółowo

Zaawansowane aplikacje WWW - laboratorium

Zaawansowane aplikacje WWW - laboratorium Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w

Bardziej szczegółowo

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy - Narzędzie Windows Forms - Przykładowe aplikacje 1 Narzędzia Windows Form Windows Form jest narzędziem do tworzenia aplikacji dla

Bardziej szczegółowo

Programowanie Urządzeń Mobilnych. Część II: Android. Wykład 2

Programowanie Urządzeń Mobilnych. Część II: Android. Wykład 2 Programowanie Urządzeń Mobilnych Część II: Android Wykład 2 1 Aplikacje w systemie Android Aplikacje tworzone są w języku Java: Skompilowane pliki programów ( dex ) wraz z plikami danych umieszczane w

Bardziej szczegółowo

Zdarzenia Klasa Application Powiadomienia Toast AlertDialog

Zdarzenia Klasa Application Powiadomienia Toast AlertDialog Android Wykład 3 1 Zdarzenia Klasa Application Powiadomienia Toast AlertDialog 2 Zdarzenia UI (UI Events) zapewniają programowi interakcje z użytkownikiem. Obiekty określają wzajemne oddziaływania z resztą

Bardziej szczegółowo

Tworzenie i wykorzystanie usług

Tworzenie i wykorzystanie usług Strona 1 Co to jest usługa w systemie Android? Usługi HTTP Obsługa wywołania HTTP GET Obsługa wywołania HTTP POST Obsługa wieloczęściowego wywołania HTTP POST Usługi lokalne Usługi zdalne Tworzenie usługi

Bardziej szczegółowo

Aktywności są związane z ekranem i definiują jego wygląd. Dzieje się to poprzez podpięcie do aktywności odpowiedniego widoku.

Aktywności są związane z ekranem i definiują jego wygląd. Dzieje się to poprzez podpięcie do aktywności odpowiedniego widoku. Aktywności to podstawowe elementy związane z platformą Android. Dzięki poznaniu aktywności będziesz w stanie napisać pierwszą aplikację przeznaczoną na urządzenie mobilne. Po dodaniu kontrolek możesz w

Bardziej szczegółowo

Laboratorium 9 (Więcej Aktywności, w Androidzie)

Laboratorium 9 (Więcej Aktywności, w Androidzie) Dr Mirosław Łątka Informatyka dla medycyny Jesień 2012 Laboratorium 9 (Więcej Aktywności, w Androidzie) Aplikacje systemu Android składają się z luźnego zbioru aktywności (ang. activities), z których każda

Bardziej szczegółowo

akademia androida Składowanie danych część VI

akademia androida Składowanie danych część VI akademia androida Składowanie danych część VI agenda 1. SharedPreferences. 2. Pamięć wewnętrzna i karta SD. 3. Pliki w katalogach /res/raw i /res/xml. 4. Baza danych SQLite. 5. Zadanie. 1. SharedPreferences.

Bardziej szczegółowo

Multimedia JAVA. Historia

Multimedia JAVA. Historia Multimedia JAVA mgr inż. Piotr Odya piotrod@sound.eti.pg.gda.pl Historia 1990 rozpoczęcie prac nad nowym systemem operacyjnym w firmie SUN, do jego tworzenia postanowiono wykorzystać nowy język programowania

Bardziej szczegółowo

Metody dostępu do danych

Metody dostępu do danych Metody dostępu do danych dr inż. Grzegorz Michalski Na podstawie materiałów dra inż. Juliusza Mikody Jak działa JDO Podstawowym zadaniem JDO jest umożliwienie aplikacjom Javy transparentnego umieszczenia

Bardziej szczegółowo

E-tourism mobile Instrukcja obsługi aplikacji mobilnej Spis treści Opis aplikacji/wymagania/menu główne Mapa GPS Informacje o POI/Trasach SOS Zarządzanie Plikami Ustawienia Kończenie pracy z aplikacją

Bardziej szczegółowo

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania 1) Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z podstawowymi elementami obiektowymi systemu Windows wykorzystując Visual Studio 2008 takimi jak: przyciski, pola tekstowe, okna pobierania danych

Bardziej szczegółowo

Powiadomienia w systemie Android

Powiadomienia w systemie Android Powiadomienia w systemie Android Powiadomienie to krótka wiadomość, która pozwala informować użytkownika o pewnych wydarzeniach pochodzących z aplikacji - będąc poza nią. Wykorzystane w odpowiedni sposób

Bardziej szczegółowo

Programowanie aplikacji dla technologii mobilnych. mgr inż. Anton Smoliński

Programowanie aplikacji dla technologii mobilnych. mgr inż. Anton Smoliński Programowanie aplikacji dla technologii mobilnych mgr inż. Anton Smoliński Agenda Cykl życia aplikacji Struktura plików Plik AndroidManifest.xml Elementy aplikacji Activity Layout Intent BroadcastRecivers

Bardziej szczegółowo

Instrukcja implementacji sterownika wirtualnego portu szeregowego dla systemu Android. Opracowanie: Elzab Soft sp. z o.o.

Instrukcja implementacji sterownika wirtualnego portu szeregowego dla systemu Android. Opracowanie: Elzab Soft sp. z o.o. Instrukcja implementacji sterownika wirtualnego portu szeregowego dla systemu Android. Opracowanie: Elzab Soft sp. z o.o. 29.06.2015 2 Spis treści 1. Wymagania...4 2. Uprawnienia systemowe...4 3. Uprawnienie

Bardziej szczegółowo

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl

Narzędzia i aplikacje Java EE. Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Narzędzia i aplikacje Java EE Usługi sieciowe Paweł Czarnul pczarnul@eti.pg.gda.pl Niniejsze opracowanie wprowadza w technologię usług sieciowych i implementację usługi na platformie Java EE (JAX-WS) z

Bardziej szczegółowo

Android, wprowadzenie do SDK

Android, wprowadzenie do SDK Android, wprowadzenie do SDK Wprowadzenie, konfguracja środowiska, narzędzia, pierwsze aplikacje. prowadzący: Piotr Szymański, student 3 roku informatyki Paweł Rejkowicz, student 1 roku Informatyki 1 Android

Bardziej szczegółowo

Laboratorium 7 Blog: dodawanie i edycja wpisów

Laboratorium 7 Blog: dodawanie i edycja wpisów Laboratorium 7 Blog: dodawanie i edycja wpisów Dodawanie nowych wpisów Tworzenie formularza Za obsługę formularzy odpowiada klasa Zend_Form. Dla każdego formularza w projekcie tworzymy klasę dziedziczącą

Bardziej szczegółowo

Google Earth. Co to jest Google Earth? Co to jest KML? Skąd można pobrać Google Earth?

Google Earth. Co to jest Google Earth? Co to jest KML? Skąd można pobrać Google Earth? Google Earth Co to jest Google Earth? Google Earth jest to program umożliwiający wyświetlanie na trójwymiarowym modelu kuli ziemskiej zdjęć lotniczych/satelitarnych, zdjęć zrobionych z poziomu powierzchni

Bardziej szczegółowo

Połączenie aplikacji mobilnej z Facebookiem

Połączenie aplikacji mobilnej z Facebookiem Połączenie aplikacji mobilnej z Facebookiem Paweł Kowalski 1. Opis kodu źródłowego W programie zawarte są dwie klasy MainActivity oraz FacebookManager. Pierwsza odpowiada za aktywność oraz tworzenie i

Bardziej szczegółowo

INSTRUKCJA UŻYTKOWNIKA PORTALU SIDGG

INSTRUKCJA UŻYTKOWNIKA PORTALU SIDGG INSTRUKCJA UŻYTKOWNIKA PORTALU SIDGG dla Państwowy Instytut Geologiczny Państwowy Instytut Badawczy 1. Uruchomienie aplikacji. a. Wprowadź nazwę użytkownika w miejsce Nazwa użytkownika b. Wprowadź hasło

Bardziej szczegółowo

Wprowadzenie do projektu QualitySpy

Wprowadzenie do projektu QualitySpy Wprowadzenie do projektu QualitySpy Na podstawie instrukcji implementacji prostej funkcjonalności. 1. Wstęp Celem tego poradnika jest wprowadzić programistę do projektu QualitySpy. Będziemy implementować

Bardziej szczegółowo

Klasy i obiekty cz II

Klasy i obiekty cz II Materiał pomocniczy do kursu Podstawy programowania Autor: Grzegorz Góralski ggoralski.com Klasy i obiekty cz II Hermetyzacja, mutatory, akcesory, ArrayList Rozwijamy aplikację Chcemy, aby obiekty klasy

Bardziej szczegółowo

akademia androida Service, BroadcastReceiver, ContentProvider część IV

akademia androida Service, BroadcastReceiver, ContentProvider część IV akademia androida Service, BroadcastReceiver, ContentProvider część IV agenda 1. BroadcastReceiver 2. Service 3. ContentProvider 4. Zadanie 1. 5. Zadanie 2 (domowe). 1. BroadcastReceiver BroadcastReceiver

Bardziej szczegółowo

Ćwiczenie 1. Kolejki IBM Message Queue (MQ)

Ćwiczenie 1. Kolejki IBM Message Queue (MQ) Ćwiczenie 1. Kolejki IBM Message Queue (MQ) 1. Przygotowanie Przed rozpoczęciem pracy, należy uruchomić "Kreator przygotowania WebSphere MQ" oraz przejść przez wszystkie kroki kreatora, na końcu zaznaczając

Bardziej szczegółowo

TEMAT : KLASY DZIEDZICZENIE

TEMAT : KLASY DZIEDZICZENIE TEMAT : KLASY DZIEDZICZENIE Wprowadzenie do dziedziczenia w języku C++ Język C++ możliwa tworzenie nowej klasy (nazywanej klasą pochodną) w oparciu o pewną wcześniej zdefiniowaną klasę (nazywaną klasą

Bardziej szczegółowo

Systemy operacyjne na platformach mobilnych

Systemy operacyjne na platformach mobilnych Systemy operacyjne na platformach mobilnych Wykład 1 Grzegorz Jabłoński, Piotr Perek Katedra Mikroelektroniki i Technik Informatycznych Zagadnienia wykładu Wprowadzenie do systemów mobilnych System operacyjny

Bardziej szczegółowo

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych Obiekty reprezentują pewne pojęcia, przedmioty, elementy rzeczywistości. Obiekty udostępniają swoje usługi: metody operacje,

Bardziej szczegółowo

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1

Współbieżność i równoległość w środowiskach obiektowych. Krzysztof Banaś Obliczenia równoległe 1 Współbieżność i równoległość w środowiskach obiektowych Krzysztof Banaś Obliczenia równoległe 1 Java Model współbieżności Javy opiera się na realizacji szeregu omawianych dotychczas elementów: zarządzanie

Bardziej szczegółowo

Korzystanie z edytora zasad grupy do zarządzania zasadami komputera lokalnego w systemie Windows XP

Korzystanie z edytora zasad grupy do zarządzania zasadami komputera lokalnego w systemie Windows XP Korzystanie z edytora zasad grupy do zarządzania zasadami komputera lokalnego w systemie Windows XP W tym opracowaniu opisano, jak korzystać z edytora zasad grupy do zmiany ustawień zasad lokalnych dla

Bardziej szczegółowo

Technologie i usługi internetowe cz. 2

Technologie i usługi internetowe cz. 2 Technologie i usługi internetowe cz. 2 Katedra Analizy Nieliniowej, WMiI UŁ Łódź, 15 luty 2014 r. 1 Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to paradygmat programowania,

Bardziej szczegółowo

Instrukcja EQU Kantech

Instrukcja EQU Kantech Instrukcja EQU Kantech Pobranie konfiguracji Konfiguracje Kantecha do IFTER EQU pobieramy za pomocą opcji we właściwościach integracji Kantech wskazując lokalizacje katalogu..\data\kantech. Po wskazaniu

Bardziej szczegółowo

Mariusz Fraś. Instytut Informatyki. olitechnika Wrocławska. Systemy Wbudowane. Android. Dr inż. Mariusz Fraś. maf 1

Mariusz Fraś. Instytut Informatyki. olitechnika Wrocławska. Systemy Wbudowane. Android. Dr inż. Mariusz Fraś. maf 1 Systemy Wbudowane Dr inż. Android maf 1 Open Handset Alliance Android - podstawy Konsorcjum (sojusz) 78 firm mający na celu rozwój otwartych standardów dla urządzeń mobilnych Google, High Tech Computer

Bardziej szczegółowo

akademia androida Http i AsyncTask część VII

akademia androida Http i AsyncTask część VII akademia androida Http i AsyncTask część VII agenda 1. 2. 3. 4. URLConnection i HttpURLConnection UI Thread i ANR AsyncTask Zadanie 1. URLConnection i HttpURLConnection Jest to klasa, dzięki której możemy

Bardziej szczegółowo

Dokumentacja użytkowa

Dokumentacja użytkowa 1 Dokumentacja użytkowa 2 Spis treści 1. Ekran wprowadzenia do aplikacji. 3 2. Rejestracja i logowanie 4 2.1. Ekran logowania do aplikacji 4 2.2. Ekran przypomnienia hasła 5 2.3. Ekran rejestracji 6 3.

Bardziej szczegółowo

Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r.

Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r. Programowanie w Javie 1 Wykład i Ćwiczenia 3 Programowanie obiektowe w Javie cd. Płock, 16 października 2013 r. Programowanie obiektowe Programowanie obiektowe (z ang. object-oriented programming), to

Bardziej szczegółowo

Część II Wyświetlanie obrazów

Część II Wyświetlanie obrazów Tło fragmentu ABA-X Display jest wyposażony w mechanizm automatycznego tworzenia tła fragmentu. Najprościej można to wykonać za pomocą skryptu tlo.sh: Składnia: tlo.sh numer oznacza numer

Bardziej szczegółowo

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz

Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Wykład 4 Delegat (delegate), właściwości indeksowane, zdarzenie (event) Zofia Kruczkiewicz Zagadnienia 1. Delegaty wiązane, właściwości indeksowane 2. Delegaty niewiązane 3. Nowa wersja kalkulatora, delegaty

Bardziej szczegółowo

PROGRAM TESTOWY LCWIN.EXE OPIS DZIAŁANIA I INSTRUKCJA UŻYTKOWNIKA

PROGRAM TESTOWY LCWIN.EXE OPIS DZIAŁANIA I INSTRUKCJA UŻYTKOWNIKA EGMONT INSTRUMENTS PROGRAM TESTOWY LCWIN.EXE OPIS DZIAŁANIA I INSTRUKCJA UŻYTKOWNIKA EGMONT INSTRUMENTS tel. (0-22) 823-30-17, 668-69-75 02-304 Warszawa, Aleje Jerozolimskie 141/90 fax (0-22) 659-26-11

Bardziej szczegółowo

ANDROID. OpenGL ES 1.0. Tomasz Dzieniak

ANDROID. OpenGL ES 1.0. Tomasz Dzieniak ANDROID OpenGL ES 1.0 Tomasz Dzieniak Wymagania JRE & JDK 5.0 + IDE (Eclipse 3.3.1 + / Netbeans 7.0.0 +) Android SDK Starter Package Android SDK Components Pierwszy program Project name: OpenGL Build Target:

Bardziej szczegółowo

Dynamiczne i wydajne tworzenie interfejsu. Piotr Michałkiewicz

Dynamiczne i wydajne tworzenie interfejsu. Piotr Michałkiewicz Dynamiczne i wydajne tworzenie interfejsu użytkownika Piotr Michałkiewicz Główne punkty prezentacji View i ViewGroup w kodzie OnClick() i Tag Space widget i GridLayout Dynamiczne dodawanie widgetów Animations

Bardziej szczegółowo

Programowanie Obiektowe GUI

Programowanie Obiektowe GUI Programowanie Obiektowe GUI Swing Celem ćwiczenia jest ilustracja wizualnego tworzenia graficznego interfejsu użytkownika opartego o bibliotekę Swing w środowisku NetBeans. Ponadto, ćwiczenie ma na celu

Bardziej szczegółowo

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel etrader Pekao Podręcznik użytkownika Strumieniowanie Excel Spis treści 1. Opis okna... 3 2. Otwieranie okna... 3 3. Zawartość okna... 4 3.1. Definiowanie listy instrumentów... 4 3.2. Modyfikacja lub usunięcie

Bardziej szczegółowo

Dodawanie operacji dodatkowych w WAPRO Mag.

Dodawanie operacji dodatkowych w WAPRO Mag. Dodawanie operacji dodatkowych w WAPRO Mag. obowiązuje od wersji 8.21.0 Opracował i wykonał: Grzegorz Lenarczyk Asseco Business Solutions SA Oddział w Warszawie Warszawa, ul. Branickiego 13 02-972 Warszawa

Bardziej szczegółowo

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione

Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf. Materiały poprawione Materiały oryginalne: ZAWWW-2st1.2-l11.tresc-1.0kolor.pdf Materiały poprawione Rozwiązanie zadania w NetBeans IDE 7.4: Jarosław Ksybek, Adam Miazio Celem ćwiczenia jest przygotowanie prostej aplikacji

Bardziej szczegółowo

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED

KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED KOMPUTEROWY SYSTEM WSPOMAGANIA OBSŁUGI JEDNOSTEK SŁUŻBY ZDROWIA KS-SOMED Podręcznik użytkownika Katowice 2010 Producent programu: KAMSOFT S.A. ul. 1 Maja 133 40-235 Katowice Telefon: (0-32) 209-07-05 Fax:

Bardziej szczegółowo

komunikator na platformę Android wspierający protokół GG

komunikator na platformę Android wspierający protokół GG Piotr Spyra, Michał Urbaniak Praca Inżynierska 2010 Politechnika Poznańska Wydział Elektryczny, Informatyka http://code.google.com/p// O Projekcie Protokół GG Service Geolokalizacja Widżet Podsumowanie

Bardziej szczegółowo

Kompilacja javac prog.java powoduje wyprodukowanie kilku plików o rozszerzeniu.class, m.in. Main.class wykonanie: java Main

Kompilacja javac prog.java powoduje wyprodukowanie kilku plików o rozszerzeniu.class, m.in. Main.class wykonanie: java Main Język obiektowy Wykład 13 Programowanie obiektowe z lotu ptaka, str 1 James Gosling, Mike Sheridan, Patrick Naughton Sun Microsystems 1995(20latmłodszyodC) C jest językiem proceduralnym Java jest językiem

Bardziej szczegółowo

Programowanie urządzeń mobilnych. dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody

Programowanie urządzeń mobilnych. dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody Programowanie urządzeń mobilnych dr inż. Andrzej Grosser na podstawie wykładu dr inż. Juliusza Mikody Rozmieszczenie przykład Jaki układu rozmieszczający powinien zostać wykorzystany? AbsoluteLayout, TableLayout,

Bardziej szczegółowo

Ciekawym rozwiązaniem służącym do obsługi zdarzeń dla kilku przycisków w ramach jednej aktywności może być następujący kod:

Ciekawym rozwiązaniem służącym do obsługi zdarzeń dla kilku przycisków w ramach jednej aktywności może być następujący kod: 1. Listener dla przycisku. Ciekawym rozwiązaniem służącym do obsługi zdarzeń dla kilku przycisków w ramach jednej aktywności może być następujący kod: W linii 24 tworzymy globalną metodę mglobal_onclicklistener,

Bardziej szczegółowo

Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run().

Wątki. Definiowanie wątków jako klas potomnych Thread. Nadpisanie metody run(). Wątki Streszczenie Celem wykładu jest wprowadzenie do obsługi wątków w Javie. Czas wykładu 45 minut. Definiowanie wątków jako klas potomnych Thread Nadpisanie metody run(). class Watek extends Thread public

Bardziej szczegółowo

Autoryzacja zleceń z użyciem aplikacji Java Web Start "Pocztowy24Podpis"

Autoryzacja zleceń z użyciem aplikacji Java Web Start Pocztowy24Podpis Autoryzacja zleceń z użyciem aplikacji Java Web Start "Pocztowy24Podpis" Wymagania systemowe Aplikacja Java Web Start (dalej JWS) jest samodzielną aplikacją Java uruchamianą z poziomu przeglądarki internetowej

Bardziej szczegółowo

Programowanie obiektowe

Programowanie obiektowe Programowanie obiektowe Wykład 7 Marcin Młotkowski 8 kwietnia 2015 Plan wykładu Z życia programisty, część 1 1 Z życia programisty, część 1 2 3 Z życia programisty, część 2 Model View Controller MVC w

Bardziej szczegółowo

Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski

Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski Tworzenie natywnych aplikacji na urządzenia mobilne - PhoneGap Tomasz Margalski Agenda Dlaczego PhoneGap i co to jest? Możliwości PhoneGap Jak pisać aplikacje z PhoneGap? Konfiguracja i przykład aplikacji

Bardziej szczegółowo

Przesyłanie planowanych odbiorów dostawcy do monitora prognozy zlecenia PL

Przesyłanie planowanych odbiorów dostawcy do monitora prognozy zlecenia PL Pomoc stanowiskowa Przesyłanie planowanych odbiorów dostawcy do monitora prognozy zlecenia PL Użyj tego działania portalu dostawcy w celu przesyłania planowanych odbiorów dostawcy. Step 1. Po zalogowaniu

Bardziej szczegółowo

Przykładowa dostępna aplikacja w Visual Studio - krok po kroku

Przykładowa dostępna aplikacja w Visual Studio - krok po kroku Przykładowa dostępna aplikacja w Visual Studio - krok po kroku Zadaniem poniższego opisu jest pokazanie, jak stworzyć aplikację z dostępnym interfejsem. Sama aplikacja nie ma konkretnego zastosowania i

Bardziej szczegółowo

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018 Informatyka I Klasy i obiekty. Podstawy programowania obiektowego dr inż. Andrzej Czerepicki Politechnika Warszawska Wydział Transportu 2018 Plan wykładu Pojęcie klasy Deklaracja klasy Pola i metody klasy

Bardziej szczegółowo

SERWER AKTUALIZACJI UpServ

SERWER AKTUALIZACJI UpServ Wersja 1.12 upserv_pl 11/16 SERWER AKTUALIZACJI UpServ SATEL sp. z o.o. ul. Budowlanych 66 80-298 Gdańsk POLSKA tel. 58 320 94 00 serwis 58 320 94 30 dz. techn. 58 320 94 20; 604 166 075 www.satel.pl SATEL

Bardziej szczegółowo

System Symfonia e-dokumenty

System Symfonia e-dokumenty System Symfonia e-dokumenty Konfiguracja Symfonia e-dokumenty Wersja 2012.1 Konfiguracja Symfonia e-dokumenty 2012.1 Instalacja Symfonia e-dokumenty 2012.1 Należy pamiętać, że na danym systemie operacyjnym

Bardziej szczegółowo

Nawigacja po trasie wycieczki

Nawigacja po trasie wycieczki Nawigacja po trasie wycieczki Publikacja trasy wycieczki za pomocą pliku kml. KML (Keyhole Markup Language) jest to format pliku pozwalający na wizualizację trójwymiarowych danych przestrzennych. Nawigacja

Bardziej szczegółowo

Exchange 2007 Konfiguracja protokołu SSL/TLS w serwerze pocztowym Exchange 2007 wersja 1.1 UNIZETO TECHNOLOGIES S.A.

Exchange 2007 Konfiguracja protokołu SSL/TLS w serwerze pocztowym Exchange 2007 wersja 1.1 UNIZETO TECHNOLOGIES S.A. Exchange 2007 Konfiguracja protokołu SSL/TLS w serwerze pocztowym Exchange 2007 wersja 1.1 Spis treści 1. GENEROWANIE ŻĄDANIA WYSTAWIENIA CERTYFIKATU... 3 2. WYSYŁANIE ŻĄDANIA DO CERTUM... 4 5. INSTALACJA

Bardziej szczegółowo

Instrukcja generowania certyfikatu PFRON i podpisywania dokumentów aplikacji SODiR w technologii JS/PKCS 12

Instrukcja generowania certyfikatu PFRON i podpisywania dokumentów aplikacji SODiR w technologii JS/PKCS 12 Instrukcja generowania certyfikatu PFRON i podpisywania dokumentów aplikacji SODiR w technologii JS/PKCS 12 Wersja 3.0 02-03-2017 Spis treści Instrukcja generowania certyfikatu PFRON i podpisywania dokumentów

Bardziej szczegółowo

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej

Interfejsy. Programowanie obiektowe. Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej Programowanie obiektowe Interfejsy Paweł Rogaliński Instytut Informatyki, Automatyki i Robotyki Politechniki Wrocławskiej pawel.rogalinski pwr.wroc.pl Interfejsy Autor: Paweł Rogaliński Instytut Informatyki,

Bardziej szczegółowo

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce)

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce) emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym Magento (plugin dostępny w wersji ecommerce) Zastosowanie Rozszerzenie to przeznaczone jest dla właścicieli sklepów internetowych opartych

Bardziej szczegółowo

Opis aktualizacji programu Kancelaria Komornika

Opis aktualizacji programu Kancelaria Komornika Opis aktualizacji programu Kancelaria Komornika ZUS-EKS Currenda sp. z o.o.; 30-348 K rakó w, ul. B o b rz y ńs ki e g o 3 9 b / 1 7 t el. (12) 3 5 8-01-3 1, (12) 359-78-98 f a x (1 2 ) 358-01-01 w. 6

Bardziej szczegółowo

Tworzenie certyfikatów OpenPGP/GnuPG w programie Kleopatra (element pakietu Gpg4win)

Tworzenie certyfikatów OpenPGP/GnuPG w programie Kleopatra (element pakietu Gpg4win) Tworzenie certyfikatów OpenPGP/GnuPG w programie Kleopatra (element pakietu Gpg4win) Certyfikat zawiera klucz publiczny/prywatny, adres e-mail, nazwę właściciela i inne tzw. metadane. W przypadku OpenPGP

Bardziej szczegółowo

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych Laboratorium OiOSE. Programowanie w środowisku MS Visual C++ 1 Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych Organizacja i Oprogramowanie Systemów Elektronicznych Michał Kowalewski

Bardziej szczegółowo

akademia androida Sensory część V Mobile Applications Developers www.mad.zut.edu.pl

akademia androida Sensory część V Mobile Applications Developers www.mad.zut.edu.pl akademia androida Sensory część V agenda 1. O sensorach słów kilka 2. Sensor Framework 3. Akcelerometr 4. Czujnik zbliżeniowy 5. Czujnik światła 6. Zadanie 1. 7. Zadanie 2 (domowe) 1. O sensorach słów

Bardziej szczegółowo

Instrukcja użytkownika

Instrukcja użytkownika Instrukcja użytkownika Bydgoszcz 2017 Strona: 1/12 Spis treści 1 Konfiguracja i obsługa funkcjonalności... 3-1.1 Wstęp... 3 1.2 Konfiguracja stacji klienckiej... 3 1.3 Weryfikacja istniejącego dokumentu...

Bardziej szczegółowo

Języki i metody programowania Java Lab2 podejście obiektowe

Języki i metody programowania Java Lab2 podejście obiektowe Języki i metody programowania Java Lab2 podejście obiektowe https://docs.oracle.com/javase/tutorial/ http://zofia.kruczkiewicz.staff.iiar.pwr.wroc.pl/wyklady/pojava/javazk4_2.pdf Zofia Kruczkiewicz 1 Zadanie

Bardziej szczegółowo

Instrukcja użytkownika LK100B. Zawartość opakowania

Instrukcja użytkownika LK100B. Zawartość opakowania Instrukcja użytkownika LK100B Wersja elektroniczna na www.angelgts.eu Zawartość opakowania Urządzenie LK210 Przewody zasilające Przekaźnik do odcięcia zapłonu Instrukcja obsługi 1 Parametry techniczne

Bardziej szczegółowo

Minimalna wspierana wersja systemu Android to 2.3.3 zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4.

Minimalna wspierana wersja systemu Android to 2.3.3 zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4. Dokumentacja dla Scandroid. Minimalna wspierana wersja systemu Android to 2.3.3 zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4. Scandroid to aplikacja przeznaczona

Bardziej szczegółowo

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia nowego projektu (poniżej są utworzone projekty) Po kliknięciu

Bardziej szczegółowo

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami.

UML a kod w C++ i Javie. Przypadki użycia. Diagramy klas. Klasy użytkowników i wykorzystywane funkcje. Związki pomiędzy przypadkami. UML a kod w C++ i Javie Projektowanie oprogramowania Dokumentowanie oprogramowania Diagramy przypadków użycia Przewoznik Zarzadzanie pojazdami Optymalizacja Uzytkownik Wydawanie opinii Zarzadzanie uzytkownikami

Bardziej szczegółowo

Programowanie w Javie

Programowanie w Javie Programowanie w Javie Andrzej Czajkowski Lista nr 0 Debugger w Javie Celem ćwiczenia jest poznanie podstawowych funkcji narzędzia debugera (odpluskwiacz) w środowisku Eclipse. Po ukończeniu ćwiczenia student

Bardziej szczegółowo

Instrukcja korzystania z serwisu Geoportal wybrane zagadnienia dotyczące ochrony przyrody (wersja 1.0)

Instrukcja korzystania z serwisu Geoportal wybrane zagadnienia dotyczące ochrony przyrody (wersja 1.0) Instrukcja korzystania z serwisu Geoportal wybrane zagadnienia dotyczące ochrony przyrody (wersja 1.0) Poznań, 25.07.2011 r. W połowie 2010 roku Generalna Dyrekcja Ochrony Środowiska przygotowała interaktywną

Bardziej szczegółowo

VectraPortal. VectraPortal. wersja Instrukcja użytkownika Podstawowa funkcjonalność serwisu. [czerwiec 2016]

VectraPortal. VectraPortal. wersja Instrukcja użytkownika Podstawowa funkcjonalność serwisu. [czerwiec 2016] VectraPortal wersja 1.6.9 Instrukcja użytkownika Podstawowa funkcjonalność serwisu [czerwiec 2016] Spis treści 1 Wymagania systemowe... 3 2 Podstawowa funkcjonalność serwisu... 3 2.1 Mapa... 3 2.2 Pasek

Bardziej szczegółowo

Programowanie Urządzeń Mobilnych. Laboratorium nr 9,10

Programowanie Urządzeń Mobilnych. Laboratorium nr 9,10 Programowanie Urządzeń Mobilnych Laboratorium nr 9,10 Android Temat 2 działanie złożonych aplikacji zawierających więcej niż jedno Activity Krzysztof Bruniecki 1 Wstęp Podczas laboratorium poruszona zostanie

Bardziej szczegółowo

Android pierwsza aplikacja

Android pierwsza aplikacja Android pierwsza aplikacja I. Środowisko 1. Uruchomić środowisko Android Devloppers tools 2. Wybrać/Utworzyć Wokspace Mobile-cw2 II Projekt 1. Utworzyć nowy projekt klikając na w pasku narzędzi 2. Rozwinąć

Bardziej szczegółowo

xmlns:prism=http://www.codeplex.com/prism c. <ContentControl prism:regionmanager.regionname="mainregion" />

xmlns:prism=http://www.codeplex.com/prism c. <ContentControl prism:regionmanager.regionname=mainregion /> 1 Tworzenie Shella a. W pierwszej kolejności tworzymy nowy projekt: WPF Application. Name: Shell SolutionName: PrismApp b. Dodajemy bibliotekę PRISM za pomocą NuGet Managera (dla.net Framework 4.5 Prism

Bardziej szczegółowo

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym WooCommerce (plugin dostępny w wersji ecommerce)

emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym WooCommerce (plugin dostępny w wersji ecommerce) emszmal 3: Automatyczne księgowanie przelewów w sklepie internetowym WooCommerce (plugin dostępny w wersji ecommerce) Zastosowanie Rozszerzenie to dedykowane jest sklepom internetowych działającym w oparciu

Bardziej szczegółowo