System GPS i jego zastosowania
Ćwiczenie 5
Wykorzystanie informacji z GPS na platformie Android
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).
Laboratorium - System GPS i jego zastosowania
3/7
R
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
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.
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
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ą:
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.