Technologie mobilne
Laboratorium
Zadanie 11 – tworzenie i uruchamianie aplikacji z użyciem
Android SDK
1
Wstęp
Platforma Android jest opartym na Linuxie systemem operacyjnym przeznaczonym dla urządzeń
mobilnych.
Platforma Android wspiera programowanie aplikacji w języku Java z użyciem standardowych
bibliotek Javy oraz bibliotek wyspecjalizowanych wchodzących w skład Android Software
Development Kit (SDK).
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.
Ćwiczenie polega na utworzeniu i uruchomieniu prostych aplikacji dla platformy Android.
W pierwszej części należy utworzyć i uruchomić aplikację z użyciem narzędzia android oraz
narzędzia kompilacji Ant oraz emulatora.
W drugiej części do tworzenia i uruchamiania aplikacji należy wykorzystać Eclipse IDE z pluginem
ADT.
Ostatnia część polega na przetestowaniu działania utworzonych aplikacji na rzeczywistym
urządzeniu.
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
).
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).
2
Na następnym rysunku przedstawiony został cykl życia obiektu klasy
Activity
.
Zadanie 1 (0,5p)
Przygotować środowisko dla tworzenia aplikacji na platformę Android.
1. Rozpakować Android SDK.
2. Dodać ścieżkę do katalogu <SDK>/tools do zmiennej środowiskowej PATH.
3. Rozpakować Ant.
4. Dodać ścieżkę do <Ant>/bin do zmiennej środowiskowej PATH.
5. Ustawić ścieżkę do <Ant> w zmiennej ANT_HOME.
6. Ustawić ścieżkę do JDK w zmiennej JAVA_HOME.
Zadanie 2 (0,5p)
Utworzyć nowy AVD oraz szkielet projektu z użyciem narzędzia android.
android list target
Wyświetla listę dostępnych typów dla urządzeń wirtualnych.
android create avd --target <id> --name <nazwa>
Tworzy nowy AVD.
<id>
- identyfikator typu wirtualnego urządzenia
<nazwa>
- nazwa tworzonego wirtualnego urządzenia
android craete project --package <nazwa pakietu> --name <nazwa projektu>
--activity <nazwa klasy activity> --target <id> --path <ścieżka>
Tworzy szkielet projektu dla Androida do kompilowania z użyciem narzędzia Ant.
<nazwa pakietu>
- np. lab.android.lab1
<nazwa projektu>
- nazwa projektu
3
<nazwa klasy activity>
- nazwa klasy dziedziczącej po Activity
<id>
- identyfikator typu wirtualnego urządzenia
<ścieżka>
- miejsce tworzenia nowego projektu
Zadanie 3 (1p)
Zbudować i uruchomić w emulatorze utworzony szkielet aplikacji.
1. Uruchomić emulator (<SDK>/tools/emulator.exe) – emulator uruchamia się długo dlatego
zaleca się nie wyłączanie go podczas pracy, gotowe aplikacje można uruchomić
używając adb.
emulator -avd <nazwa>
2. W katalogu z projektem zbudować aplikację:
ant debug
3. Poszukać pliku .apk w podkatalogu bin projektu.
4. Zainstalować aplikację używając adb.
adb install plik.apk
W przypadku obecności większej liczby urządzeń lub emulatorów jako parametr adb należy
podać dodatkowy parametr
-s <serial number>
.
5. Poszukać w emulatorze zainstalowanej aplikacji i uruchomić ją:
Zadanie 4 (1p)
Przygotować środowisko Eclipse IDE wraz z pluginem ADT.
1. Rozpakować Eclipse IDE.
2. Dodać (Help > Install New Software ...) pluginy „Android DDMS” oraz „Android
Development Tools”.
3. Skorzystać z repozytorium pod adresem:
https://dl-ssl.google.com/android/eclipse/
4
4. Podać ścieżkę do Android SDK (Window > Preferences).
Zadanie 5 (0,5p)
Utworzenie i uruchomienie aplikacji Android z użyciem Eclipse IDE.
1. Utworzyć aplikację Android Project (File > New > Other).
2. Utworzyć konfigurację debugowania.
5
3. Kliknąć przycisk Debug.
4. Ewentualnie jeśli mamy więcej niż jedno podłączone urządzenie / emulator wybrać na jakim
ma zostać przeprowadzona instalacja i uruchomienie.
Zadanie 6 (0,5p)
Modyfikacja aplikacji z użyciem Eclipse IDE.
1. Do standardowego, niemal pustego, wyglądu okna dodać przycisk.
a. W pliku res/layout/main.xml można wprowadzić następującą treść (plik ten jest meta-
opisem wyglądu okna aplikacji i odwołuje się do niego funkcja
setContentView(R.layout.main);
)
Należy zwrócić uwagę na identyfikator dodany do obiektu
TextView
oraz
Button
– dzięki
niemu będzie możliwe uzyskanie programistycznego dostępu do tego obiektu w trakcie
działania aplikacji.
2. Zmodyfikować właściwe źródło dodając prostą obsługę przycisku Button01.
a. W tym celu należy przy użyciu metody
findViewById(R.id.Button01);
uzyskać
referencję do przycisku, a następnie zarejestrować obiekt
OnClickListener
używając
metody
Button.setOnClickListener(...)
.
b. Przykładowa zawartość metody
onCreate
zapewniająca obsługę przycisku znajduje się
na poniższym listingu:
6
Zadanie 7 (1p)
Przygotowanie prostego kalkulatora i uruchomienie na rzeczywistym urządzeniu.
1. Utworzyć nowy projekt Androida.
2. Przygotować prosty interfejs kalkulatora (złożony z obiektów
Button
oraz
EditView
) w
main.xml
.
3. Zaprogramować obsługę przycisków w funkcji
onCreate
.
4. Przetestować działanie aplikacji na emulatorze.
5. Podłączyć urządzenie do komputera przy użyciu kabla USB.
6. Sprawdzić czy urządzenie zostało wykryte
adb devices
7. Uruchomić projekt jak w zadaniu 5 wybierając w ostatnim kroku urządzenie rzeczywiste.
Można również zainstalować plik .apk bezpośrednio na urządzeniu używając narzędzia adb
adb -d install <plik>.apk
7