Android w akcji Wydanie II.pdf

(444 KB) Pobierz
Idź do
• Spis treści
• Przykładowy rozdział
• Skorowidz
Katalog książek
• Katalog online
• Zamów drukowany
katalog
Twój koszyk
• Dodaj do koszyka
Cennik i informacje
• Zamów informacje
o nowościach
• Zamów cennik
Czytelnia
• Fragmenty książek
online
Android w akcji.
Wydanie II
Autorzy: W. Frank Ableson, Robi Sen, Chris King
Tłumaczenie: Paweł Gonera
ISBN: 978-83-246-3380-7
Tytuł oryginału:
Android in Action
Format: 168×237, stron: 624
Kontakt
Helion SA
ul. Kościuszki 1c
44-100 Gliwice
tel. 32 230 98 63
e-mail: helion@helion.pl
© Helion 1991–2011
Rozbudowany podręcznik tworzenia niesamowitych aplikacji dla systemu Android!
• Android SDK i programowanie aplikacji WWW
• Komunikacja Bluetooth i przetwarzanie danych z czujników
• Grafika, animacja i multimedia w Androidzie
• Techniki pisania natywnych aplikacji w języku C
Skoro zwróciłeś uwagę właśnie na tę książkę, zapewne dobrze wiesz, czym jest Android i co potrafi
– teraz przyszła pora, abyś sprawdził go także w akcji! Oto doskonała książka dla wszystkich
programistów, którym marzy się tworzenie własnych aplikacji dla robiącego oszałamiającą karierę
systemu. Choć ta książka nie jest przeznaczona dla początkujących, zawiera wszystkie informacje
potrzebne osobom, dla których Android jest całkowicie nowym środowiskiem. Można w niej
znaleźć instrukcje niezbędne do szybkiego zorientowania się w architekturze tej platformy oraz
sposobie jej działania, co pozwoli sprawnie rozpocząć pracę w tym środowisku. Pozostałe rozdziały
to już czysta frajda programowania!
Od czego zaczniesz zabawę z Androidem? Dowiesz się, jak budować aplikacje dla tego systemu
od najmniejszych cegiełek aż po ekrany, dodawać funkcje telefoniczne i wykorzystywać bibliotekę
OpenGL ES do tworzenia złożonej grafiki 2D oraz 3D. Następnie poznasz zasady tworzenia
większych aplikacji oraz techniki pisania aplikacji w języku C, także z użyciem Android Native
Development Kit. Opanujesz potężne narzędzie Android SDK oraz budowanie aplikacji dla WebKit
z użyciem HTML 5, a nawet nauczysz się rozszerzać lub zastępować wbudowane funkcje Androida
na podstawie użytecznych i intrygujących przykładów.
• Wprowadzenie do systemu Android
• Środowisko programowania
• Komponenty interfejsu użytkownika, w tym View i Layout
• Metody przechowywania i odczytywania lokalnych danych
• Sieci oraz usługi sieciowe, Bluetooth, sensory i widżety aplikacji
• Przegląd podstawowych zagadnień związanych z telefonią
• Powiadomienia i alarmy
• Grafika i animacja w Androidzie
• Korzystanie z funkcji multimedialnych Androida
• Usługi oparte na lokalizacji
• Integracja kontaktów z platformy społecznościowej
• Aplikacja wspomagająca serwisantów
• Budowanie aplikacji Android w języku C
• Tworzenie stron WWW dla systemu Android
• Strategie lokalizowania aplikacji
• Android Native Development Kit oraz korzystanie z SDK oraz AVD Manager
Wkrocz wreszcie do akcji i zacznij tworzyć własne aplikacje dla Androida!
Spis tre ci
Wprowadzenie
Wprowadzenie do pierwszego wydania
PodziÚkowania
O ksiÈ ce
O ilustracji na okïadce
13
15
17
19
25
CzÚ Ê I. Czym jest Android? Zarys ogólny
1.
Wprowadzenie do systemu Android
1.1.
1.2.
27
29
1.3.
1.4.
Platforma Android ....................................................................................................................... 30
Omówienie rynku Androida ........................................................................................................ 32
1.2.1. Operatorzy telefonii komórkowej ....................................................................................... 32
1.2.2. Android kontra zaawansowane telefony ............................................................................. 32
1.2.3. Android kontra smartfony ................................................................................................... 34
1.2.4. Android kontra Android ...................................................................................................... 35
1.2.5. Licencjonowanie Androida ................................................................................................. 35
Warstwy systemu Android .......................................................................................................... 36
1.3.1. Budowanie na bazie jÈdra Linux ........................................................................................ 38
1.3.2. Praca w maszynie wirtualnej Dalvik .................................................................................. 39
Intencje w programowaniu dla Androida ................................................................................. 39
1.4.1. Wykorzystywanie intuicyjnego interfejsu u ytkownika .................................................... 40
1.4.2. Sposób dziaïania intencji ..................................................................................................... 40
4
Spis tre ci
1.5.
1.6.
1.7.
1.8.
1.9.
Cztery rodzaje komponentów Androida .................................................................................... 43
1.5.1. Klasa Activity ....................................................................................................................... 44
1.5.2. Klasa Service ........................................................................................................................ 45
1.5.3. Klasa BroadcastReceiver ..................................................................................................... 46
1.5.4. Klasa ContentProvider ........................................................................................................ 49
Budowa pliku AndroidManifest.xml .......................................................................................... 50
Odwzorowanie aplikacji na procesy .......................................................................................... 52
Tworzenie aplikacji dla systemu Android ................................................................................. 53
Podsumowanie .............................................................................................................................. 57
2.
¥rodowisko programowania dla systemu Android
2.1.
59
2.2.
2.3.
2.4.
2.5.
2.6.
Wprowadzenie do Android SDK ................................................................................................ 60
2.1.1. Podstawowe pakiety systemu Android ............................................................................... 61
2.1.2. Pakiety opcjonalne ............................................................................................................... 62
PrzeglÈd rodowiska programowania ........................................................................................ 62
2.2.1. Perspektywa Java ................................................................................................................. 64
2.2.2. Perspektywa DDMS ........................................................................................................... 65
2.2.3. NarzÚdzia wiersza poleceñ .................................................................................................. 68
Budowanie aplikacji dla systemu Android w Eclipse .............................................................. 71
2.3.1. Kreator projektu aplikacji Android ..................................................................................... 72
2.3.2. Kod ródïowy przykïadowej aplikacji Android .................................................................. 72
2.3.3. Pakowanie aplikacji ............................................................................................................. 79
U ycie emulatora systemu Android ........................................................................................... 80
2.4.1. Konfiguracja rodowiska emulowanego ............................................................................. 81
2.4.2. Testowanie aplikacji w emulatorze ..................................................................................... 85
Debugowanie aplikacji ................................................................................................................ 86
Podsumowanie .............................................................................................................................. 88
CzÚ Ê II. mwiczenia z Android SDK
3.
Interfejs u ytkownika
3.1.
89
91
3.2.
3.3.
3.4.
3.5.
Tworzenie aktywno ci ................................................................................................................. 93
3.1.1. Tworzenie klasy Activity ..................................................................................................... 94
3.1.2. Przedstawiamy cykl ycia aktywno ci ................................................................................ 99
Praca z widokami ....................................................................................................................... 103
3.2.1. PrzeglÈd wspólnych widoków ........................................................................................... 103
3.2.2. Korzystanie z ListView ...................................................................................................... 105
3.2.3. WielowÈtkowo Ê z u yciem klas Handler i Message ...................................................... 109
3.2.4. Tworzenie wïasnych widoków .......................................................................................... 111
3.2.5. Przedstawiamy ukïady ....................................................................................................... 113
3.2.6. Obsïuga fokusu .................................................................................................................. 115
3.2.7. Przechwytywanie zdarzeñ ................................................................................................. 116
U ycie zasobów ........................................................................................................................... 117
3.3.1. Obsïugiwane typy zasobów ............................................................................................... 117
3.3.2. Odwoïywanie siÚ do zasobów w kodzie Java ................................................................... 118
3.3.3. Definiowanie widoków i ukïadów w zasobach XML ...................................................... 120
3.3.4. Warto ci zewnÚtrzne ......................................................................................................... 122
3.3.5. Tworzenie animacji ........................................................................................................... 125
Przedstawiamy plik AndroidManifest.xml .............................................................................. 126
Podsumowanie ............................................................................................................................ 128
Spis tre ci
5
4.
Intencje i usïugi
4.1.
129
4.2.
4.3.
4.4.
4.5.
4.6.
Obsïuga aplikacji Wyszukiwarka restauracji z u yciem intencji ......................................... 130
4.1.1. Definiowanie intencji ........................................................................................................ 131
4.1.2. Wywoïania jawne i niejawne ............................................................................................ 131
4.1.3. Dodawanie ïÈczy zewnÚtrznych do aplikacji Wyszukiwarka restauracji ....................... 132
4.1.4. Wyszukiwanie celu dla intencji ........................................................................................ 135
4.1.5. Wykorzystanie aktywno ci dostÚpnych w Androidzie .................................................... 137
Sprawdzanie pogody z u yciem wïasnych URI ...................................................................... 138
4.2.1. Oferowanie wïasnych URI ................................................................................................ 138
4.2.2. U ycie niestandardowego URI ......................................................................................... 140
Sprawdzanie pogody za pomocÈ obiektu BroadcastReceiver ............................................... 142
4.3.1. Rozgïaszanie intencji ......................................................................................................... 142
4.3.2. Tworzenie odbiornika ....................................................................................................... 143
Budowanie usïugi prognozy pogody ........................................................................................ 144
Komunikacja WeatherAlertService z innymi aplikacjami .................................................... 148
4.5.1. JÚzyk definicji interfejsu ................................................................................................... 148
4.5.2. Binder oraz Parcelable ...................................................................................................... 150
4.5.3. UdostÚpnianie zdalnego interfejsu ................................................................................... 151
4.5.4. Èczenie z usïugÈ .............................................................................................................. 152
4.5.5. Uruchamianie i doïÈczanie usïugi .................................................................................... 155
4.5.6. Cykl ycia usïugi ................................................................................................................ 156
Podsumowanie ............................................................................................................................ 157
5.
Zapisywanie i odczytywanie danych
5.1.
159
5.2.
5.3.
5.4.
5.5.
U ycie wïa ciwo ci ..................................................................................................................... 160
5.1.1. Wykorzystanie obiektu SharedPreferences ..................................................................... 160
5.1.2. Uprawnienia dostÚpu do wïa ciwo ci .............................................................................. 163
U ycie systemu plików ............................................................................................................... 166
5.2.1. Tworzenie plików .............................................................................................................. 166
5.2.2. Odczyt z plików ................................................................................................................. 167
5.2.3. Pliki jako surowe zasoby ................................................................................................... 168
5.2.4. Zasoby plików XML .......................................................................................................... 169
5.2.5. Zapis na karcie SD ............................................................................................................. 171
Zapisywanie danych w bazie danych ....................................................................................... 174
5.3.1. Budowanie i wykorzystanie bazy danych ......................................................................... 175
5.3.2. Wykorzystanie programu sqlite3 ...................................................................................... 179
U ycie klas ContentProvider .................................................................................................... 180
5.4.1. U ycie istniejÈcej klasy ContentProvider ........................................................................ 181
5.4.2. Tworzenie dostawcy tre ci ................................................................................................ 182
Podsumowanie ............................................................................................................................ 188
6.
Sieci oraz usïugi sieciowe
6.1.
189
6.2.
6.3.
6.4.
PrzeglÈd zagadnieñ sieciowych ................................................................................................ 191
6.1.1. Podstawy sieci .................................................................................................................... 191
6.1.2. Serwery i klienty ................................................................................................................ 194
Sprawdzanie stanu sieci ............................................................................................................ 195
Komunikacja poprzez gniazdo serwera ................................................................................... 196
Wykorzystanie HTTP ................................................................................................................ 199
6.4.1. Proste Èdania HTTP i java.net ........................................................................................ 199
6.4.2. Zaawansowana obsïuga HTTP za pomocÈ HttpClient .................................................... 201
6.4.3. Tworzenie klasy pomocniczej dla wywoïañ HTTP i HTTPS ......................................... 203
Zgłoś jeśli naruszono regulamin