Programowanie aplikacji dla systemu Android - Smołka J. - 2014 [pdf ocr].pdf

(51633 KB) Pobierz
P O L I T E C H N I K A
L U B E L S K A
Jakub Smółka
Programowanie aplikacji
dla systemu Android
Lublin 2014
Spis treści
5
W stę p ................................................................................................................................6
1. Pierwsza aplikacja dla A ndroida.............................................................................. 7
1.1. Niezbędne narzędzia.......................................................................................... 7
1.2. Tworzenie p rojektu ............................................................................................ 7
2. Tworzenie graficznego interfejsu użytkow nika...................................................17
2.1. Struktura pliku układu interfejsu użytkow nika............................................ 17
2.2. Podstawowe kom ponenty................................................................................17
2.2. Typowe w łaściw ości........................................................................................ 18
2.3. Tworzenie układu.............................................................................................. 19
2.4 Podstawowa składowa aplikacji - Aktywność (Activity).............................24
2.5. Cykl życia aktyw ności.....................................................................................24
2.6. Odwoływanie się do elementów układu w kodzie aplikacji......................27
2.7. Obsługa zdarzeń................................................................................................27
2.8. Zaawansowane rozmieszczanie elementów - Relative L ayo ut................. 36
2.9. Aplikacje zawierające więcej niż jedną aktyw ność.................................... 40
2.10. Adaptery...........................................................................................................44
2.11 Zachowywanie stanu aktywności.................................................................. 55
2.12. Przekazywanie wyników z aktywności.......................................................58
2.14 Tworzenie menu - pasek a k c ji...................................................................... 60
2.15. Fragm enty........................................................................................................67
3. Trwałe przechowywanie danych............................................................................99
3.1 Szkielet przykładowego projektu.................................................................... 99
3.2. Korzystanie z bazy danych SQ Lite..............................................................104
3.3. Korzystanie z ustawień w spółdzielonych...................................................133
3.4 Zapisywanie/odczytywanie danych z p lik u .................................................141
4. Podstawy wielozadaniow ości...............................................................................153
4.1. Wykonywanie krótkich zadań w tle - klasa A syncTask...........................154
4.2. Proste usługi - dziedziczące po IntentService........................................... 159
5. Wykorzystanie usług frameworku A n d ro id ....................................................... 176
5.1. Wykorzystanie m ap........................................................................................ 176
5.2. Rozpoznawanie m ow y...................................................................................186
Bibliografia..................................................................................................................189
6
Wstęp
Wstęp
Android to system operacyjny rozwijany przez Open Headset Alliance,
któremu przewodniczy Google. Zbudowany został na bazie systemu Linux. Kod
źródłowy systemu jest dostępny na licencji Apache. Do tej pory ukazały się
cztery główne wersje systemu, jednak API dostępne dla aplikacji zmieniło się
16 razy (w sumie 17 wersji). Znacząca większość urządzeń z Androidem
zawiera dodatkowo aplikacje Google, które są dodatkiem do systemu i nie są
oprogramowaniem open-source (np. Mapy Google). Od 2010 roku Android to
najpopularniejsza platforma mobilna na świecie.
Niniejszy podręcznik przedstawia najważniejsze zagadnienia związane
z programowaniem aplikacji dla Androida.
Niezbędne narzędzia
7
1. Pierwsza aplikacja dla Androida
W niniejszym rozdziale zobaczymy, krok po kroku, jak tworzyć projekty
z wykorzystaniem odpowiednio skonfigurowanego środowiska Eclipse i pakietu
android SDK.
1.1. Niezbędne narzędzia
Zanim przystąpimy do tworzenia aplikacji dla systemu Android będziemy
potrzebować odpowiednich narzędzi programistycznych. Najważniejszym z nich
jest pakiet
Android Software Development Kit.
Jest on dostępny na stronie:
http://developer.android.com/sdk/index.html. Po instalacji pakietu
SD K
należy
za pomocą narzędzia
SD K Manager
pobrać i zainstalować tzw. platformy i pa­
kiety [1]. Pakiety i platformy to różne wersje systemu Android oraz dodatkowe
biblioteki, przykłady, sterowniki. Używanie samego SDK nie jest zbyt wygod­
nym rozwiązaniem. Warto więc zainstalować również wspierane przez Google
środowisko
Eclipse
(www.eclipse.org) wraz z wtyczką
Android Developer Tools
[10]. Wszystkie te narzędzia dostępne są również w jednym pakiecie jako
A D T
Bundle
[12]. Ponieważ wszystkie wspomniane narzędzia, jak również sam sys­
tem Android są zbudowane wokół języka Java, to niezbędny będzie również
Ja­
va
Development Kit.
M ożna
korzystać
z
JDK
firmy
Oracle
(http://www.oracle.com/technetwork/j ava/j avase/downloads/j dk7 -downloads-
1880260.html) jak też
OpenJDK
(http://openj dk.j ava.net/).
Oprócz zestawu złożonego ze środowiska
Eclipse
wraz z wtyczką
Android
Developer Tools
dostępne jest również
Android Studio.
Jest to narzędzie, które
docelowo ma się stać domyślnym narzędziem do tworzenia aplikacji przezna­
czonych dla systemu Android. Jednak w momencie powstawania niniejszego
podręcznika jest dostępna jedynie niestabilna wersja rozwojowa.
1.2. Tworzenie projektu
Tworzenie projektu rozpoczynamy od uruchomienia środowiska Eclipse.
Wykorzystuje ono
przestrzenie robocze (ang. workspace),
z których każda znaj­
duje się w odrębnym katalogu. Katalog wybiera się podczas uruchamiania śro­
dowiska (rys. 1.1). W każdej przestrzeni może znajdować się wiele projektów.
Można również przełączać się między przestrzeniami w trakcie pracy
środowiska.
8
Pi erwsza aplikacj a dla Androi da
W
Select a w orkspace
W orkspace Launcher
E clip se S D K sta res y o u r projects in a fo lde r calle d a workspace.
C h o o se a w o rkspace fo ld e r to u se fo r this session .
W o rkspace: |/home/uzytkown 1
kjfworksp ace
v]
Browse...
U se this as the default an d do n ot as k again
OK
C an cel
Rys. 1.1. Wybór
przestrzeni roboczej
- każda przestrzeń znajduje się w odrębnym katalogu
Po uruchomieniu Eclipse można przystąpić do tworzenia nowego projektu. N a­
leży wybrać
File
|
New
|
Other
(oznacza to, że w menu
File
należy wybrać opcję
New,
a w pojawiającym się po wybraniu w/w opcji kolejnym menu wybrać op­
cję
Other
- w dalszej części podręcznika tak będą oznaczane sekwencje opcji,
które należy wybrać).
Rys. 1.2. Okno wyboru typu tworzonego elementu
Potem pojawi się okno wyboru typu tworzonego elementu (rys. 1.2). Należy
w nim
oczywiście
wybrać
Android
Application
Project.
Zgłoś jeśli naruszono regulamin