background image

 

 

 

 

 

 

  System GPS i jego zastosowania 

 

 

 

 

 

 

 

 

Ćwiczenie 5 

 

Wykorzystanie informacji z GPS na platformie Android 

background image

Laboratorium - System GPS i jego zastosowania 

 

2/7 

 

 

Wstęp 

Platforma Android jest opartym na Linuxie systemem operacyjnym dla urządzeń mobilnych. 

Istnieje  możliwość  programowania  aplikacji  na  tę  platformę  korzystając  Android  SDK 
opartego na języku Java.  

Jako  środowisko  graficzne  zintegrowane  z  Android  SDK  można  wykorzystać  Eclipse’a  z 
doinstalowanym Pluginem ADT (Android Development Tools). 

 

W skład narzędzi Android SDK wchodzą między innymi: 

Android Development Tools Plugin – plugin dla tworzenia aplikacji w Eclipce IDE 

Android Emulator – emulator urządzenia z systemem android 

Android  Virtual  Devices  (AVDs)  –  narzędzie  służące  do  konfiguracji  cech  wirtualnego 
urządzenia dla emulatora 

Dalvik  Debug  Monitor  Service  (ddms)  –  narzędzie  pozwala  na  zarządzanie  procesem 
uruchamianym  na  urządzeniu  lub,  przykładowo:  wgląd  w  zawartość  stosu,  zabicie  procesu, 
zrzut ekranu 

Android Debug Bridge (adb) – narzędzie adb pozwala instalować pliki .apk na emulatorze 

lub urządzeniu oraz zapewnia dostęp do niego z linii poleceń. 

Android  Asset  Packaging  Tool  (aapt)  –  narzędzie  aapt  pozwala  tworzyć  pliki  .apk 
zawierające binaria i zasoby aplikacji Androida.  

android  –  skrypt  pozwalający  na  zarządzanie  urządzeniami  AVD,  oraz  umożliwiający 
wygenerowanie szkieletu projektu możliwego do zbudowania z narzędziem Ant. 

 

Szkielet aplikacji na platformie Android 

 

Activity 

Klasą  bazową  dla  dowolnej  funkcjonalności  jaką  można  zaimplementować  w  aplikacji  na 
platformie  Android  jest  Activity.  Obiekt  klasy  Activity  jest  podstawową  jednostką  cyklu 
życia aplikacji. Z punktu widzenia programisty najważniejsze są metody, które najczęściej są 
przeciążane dla podklasy Activity – onCreate, onPause oraz onResume.  

 

Xml 

Język xml jest szeroko wykorzystywany do definiowania stałych cech tworzonej aplikacji.  

Przykładowo  jest  on  zastosowany  do  zdefiniowania  wyglądu  okna  aplikacji  (/res/layout/), 
wartości  stałych  stosowanych  w  programie  (/res/values/),  ale  również  do  konfiguracji 
uprawnień oraz funkcjonalności aplikacji (AndroidManifest.xml). 

background image

Laboratorium - System GPS i jego zastosowania 

 

3/7 

 

 

Klasa R jest automatycznie wygenerowaną umożliwiającą uzyskanie dostępu do elementów 
okna oraz stałych zdefiniowanych w plikach xml w czasie działania aplikacji (runtime). 

 

Na następnym rysunku przedstawiony został cykl życia obiektu klasy Activity. 

 

Rysunek 1. Cykl życia Activity 

 

Przygotowanie środowiska 

W  katalogu  D:\Mobilne_Android  znajdują  się  elementy  niezbędne  do  przygotowania 
środowiska. 

 

Wymagania wstępne 

JDK – Java Development Kit (preinstalowane) 

 

Czynności instalacyjne 

1.  Rozpakować Android SDK 

2.  Dodać ścieżkę do katalogu 

 do zmiennej 

3.  Rozpakować Eclipse’a 

background image

Laboratorium - System GPS i jego zastosowania 

 

4/7 

 

4.  Zainstalować w Eclipsie plugin ADT: Help > Software Updates > Available Software 

Add Site... > Archive... wskazać plik ADT-0.8.0.zip 

5.  Skonfigurować Eclipse’a: Window > Preferences (podać ścieżkę do SDK) 

Szczegóły instalacji: 

 

Pierwszy projekt 

 

AndroidManifest.xml 

Ustawić  uprawnienia  programu  do  używania  GPS,  Internetu  oraz  innych  narzędzi 
lokalizacyjnych (BTS, Wi-Fi). 

W tym celu w węźle 

 wprowadzić podwęzły: 

 

 

Activity 

Klasą  bazową  dla  dowolnej  funkcjonalności  jaką  można  zaimplementować  w  aplikacji  na 
platformie  Android  jest 

.  Obiekt  klasy 

  jest  podstawową  jednostką 

cyklu  życia  aplikacji.  Z  punktu  widzenia  programisty  najważniejsze  są  metody,  które 
najczęściej  są  przeciążane  dla  podklasy 

 

GPS API 

Interesujące  z  punktu  widzenia  użycia  informacji  GPS  klasy  znajdują  się  w  pakiecie 

Aby używać w programie wskazań GPS należy utworzyć obiekt typu 

 

używając metody klasy 

Następnie  zarejestrować  własny  obiekt  nasłuchujący  (implementujący  interfejs 

przy użyciu metody klasy 

Powyższą  obsługę  GPS  można  włączyć  w  przeciążonej  funkcji 

Poniżej 

fragment 

włączający 

funkcjonalność 

GPS 

oraz 

nasłuchujący nowych danych z GPS. 

background image

Laboratorium - System GPS i jego zastosowania 

 

5/7 

 

 

W  powyższym  przykładzie  klasa 

  implementuje  interfejs 

Konieczne jest przeciążenie abstrakcyjnych metod interfejsu 

 

Szczegóły interfejsu:  

 

Wygląd okna 

Zawartość okna i rodzaj użytych komponentów zdefiniowana jest w plikach xml. 

Po  utworzeniu  projektu  w  Androidzie  domyślny  opis  okna  głównego  znajduje  się  w  pliku 

background image

Laboratorium - System GPS i jego zastosowania 

 

6/7 

 

Funkcja 

  służy  do  ustawienia  zawartości  okna  i  domyślnie  wskazuje  na 

zawartość opisaną w pliku 

Poniżej znajduje się przykładowa zawartość pliku z opisem wyglądu okna: 

 

Klasa 

  zostaje  automatycznie  wygenerowana  i  umożliwia  uzyskanie  kontroli  nad 

komponentami  użytymi  w  programie.  Do  tego  celu  służy  metoda  klasy 

  –

Przykładowo z powyższego widoku możemy uzyskać dostęp do  elementu typu 

 

następującą instrukcją: 

 

background image

Laboratorium - System GPS i jego zastosowania 

 

7/7 

 

UWAGA:  Aby  uruchomić  projekt  w  emulatorze  należy  utworzyć  i  skonfigurować  profil 

uruchamiania: 

Run > Run Configurations... i dodać nową konfigurację w sekcji Android Application

 

Symulowanie odbiornika GPS 

Aby wysłać do emulatora informację z GPS można posłużyć się programem telnet. 

Po włączeniu aplikacji w emulatorze łączymy się poprzez telnet:  

W celu wysłania informacji geograficznej używamy instrukcji: 

przykład: 

ewentualnie można wysłać instrukcję protokołu NMEA następująco: 

przykład: 

 

Symulowanie pozycji z użyciem DDMS 

Można skorzystać z różnych metod symulacji GPS przy użyciu DDMS 

 

ręczna 

  pliki GPX 

  pliki KML. 

UWAGA:  Aby  zapewnić  kompatybilność  pomiędzy  symulatorem  GPS  z  DDMS,  a 
emulatorem platformy android należy ustawić anglosaskie ustawienia systemu operacyjnego. 

 

Zadania 

1.  Utworzyć i uruchomić aplikację typu Hello World

2.  Zmodyfikować  aplikację  Hello  World  tak  żeby  w  polu  tekstowym  wyświetlała 

aktualną pozycję geograficzną oraz informacje o prędkości i kierunku poruszania. 

3.  Dodać  interfejs  umożliwiający  dodawanie  pozycji  geograficznych  do  zbioru 

użytkownika  i  wyświetlający  tekstowo  odległość  oraz  kierunek  od  użytkownika  do 
najbliższego punktu ze zbioru. 

4.  Przetestować działanie programów z plikiem GPX. 

UWAGA: Rozwiązania poszczególnych zadań należy na bieżąco zgłaszać prowadzącemu.