W. Frank Ableson, Robi Sen, Chris King android-w-akcji.-wydanie-ii full version.pdf

(13871 KB) Pobierz
888958639.001.png
Spis treci
Wprowadzenie
13
Wprowadzenie do pierwszego wydania
15
Podzikowania
17
O ksice
19
O ilustracji na okadce
25
Cz I. Czym jest Android? Zarys ogólny
27
1.
Wprowadzenie do systemu Android
29
1.1.
Platforma Android ....................................................................................................................... 30
1.2.
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
1.3.
Warstwy systemu Android .......................................................................................................... 36
1.3.1. Budowanie na bazie jdra Linux ........................................................................................ 38
1.3.2. Praca w maszynie wirtualnej Dalvik .................................................................................. 39
1.4.
Intencje w programowaniu dla Androida ................................................................................. 39
1.4.1. Wykorzystywanie intuicyjnego interfejsu uytkownika .................................................... 40
1.4.2. Sposób dziaania intencji ..................................................................................................... 40
4
Spis treci
1.5.
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
1.6.
Budowa pliku AndroidManifest.xml ..........................................................................................50
1.7.
Odwzorowanie aplikacji na procesy .......................................................................................... 52
1.8.
Tworzenie aplikacji dla systemu Android ................................................................................. 53
1.9.
Podsumowanie .............................................................................................................................. 57
2.
rodowisko programowania dla systemu Android
59
2.1.
Wprowadzenie do Android SDK ................................................................................................ 60
2.1.1. Podstawowe pakiety systemu Android ............................................................................... 61
2.1.2. Pakiety opcjonalne ............................................................................................................... 62
2.2.
Przegld rodowiska programowania ........................................................................................ 62
2.2.1. Perspektywa Java ................................................................................................................. 64
2.2.2. Perspektywa DDMS ........................................................................................................... 65
2.2.3. Narzdzia wiersza polece .................................................................................................. 68
2.3.
Budowanie aplikacji dla systemu Android w Eclipse .............................................................. 71
2.3.1. Kreator projektu aplikacji Android ..................................................................................... 72
2.3.2. Kod ródowy przykadowej aplikacji Android .................................................................. 72
2.3.3. Pakowanie aplikacji ............................................................................................................. 79
2.4.
Uycie emulatora systemu Android ........................................................................................... 80
2.4.1. Konfiguracja rodowiska emulowanego ............................................................................. 81
2.4.2. Testowanie aplikacji w emulatorze ..................................................................................... 85
2.5.
Debugowanie aplikacji ................................................................................................................ 86
2.6.
Podsumowanie .............................................................................................................................. 88
Cz II. wiczenia z Android SDK
89
3.
Interfejs uytkownika
91
3.1.
Tworzenie aktywnoci ................................................................................................................. 93
3.1.1. Tworzenie klasy Activity ..................................................................................................... 94
3.1.2. Przedstawiamy cykl ycia aktywnoci ................................................................................ 99
3.2.
Praca z widokami ....................................................................................................................... 103
3.2.1. Przegld wspólnych widoków ........................................................................................... 103
3.2.2. Korzystanie z ListView ...................................................................................................... 105
3.2.3. Wielowtkowo z uyciem klas Handler i Message ...................................................... 109
3.2.4. Tworzenie wasnych widoków .......................................................................................... 111
3.2.5. Przedstawiamy ukady ....................................................................................................... 113
3.2.6. Obsuga fokusu .................................................................................................................. 115
3.2.7. Przechwytywanie zdarze ................................................................................................. 116
3.3.
Uycie zasobów ........................................................................................................................... 117
3.3.1. Obsugiwane typy zasobów ............................................................................................... 117
3.3.2. Odwoywanie si do zasobów w kodzie Java ................................................................... 118
3.3.3. Definiowanie widoków i ukadów w zasobach XML ...................................................... 120
3.3.4. Wartoci zewntrzne ......................................................................................................... 122
3.3.5. Tworzenie animacji ........................................................................................................... 125
3.4.
Przedstawiamy plik AndroidManifest.xml .............................................................................. 126
3.5.
Podsumowanie ............................................................................................................................ 128
Spis treci
5
4.
Intencje i usugi
129
4.1.
Obsuga aplikacji Wyszukiwarka restauracji z uyciem intencji ......................................... 130
4.1.1. Definiowanie intencji ........................................................................................................ 131
4.1.2. Wywoania jawne i niejawne ............................................................................................ 131
4.1.3. Dodawanie czy zewntrznych do aplikacji Wyszukiwarka restauracji ....................... 132
4.1.4. Wyszukiwanie celu dla intencji ........................................................................................ 135
4.1.5. Wykorzystanie aktywnoci dostpnych w Androidzie .................................................... 137
4.2.
Sprawdzanie pogody z uyciem wasnych URI ...................................................................... 138
4.2.1. Oferowanie wasnych URI ................................................................................................ 138
4.2.2. Uycie niestandardowego URI ......................................................................................... 140
4.3.
Sprawdzanie pogody za pomoc obiektu BroadcastReceiver ............................................... 142
4.3.1. Rozgaszanie intencji ......................................................................................................... 142
4.3.2. Tworzenie odbiornika ....................................................................................................... 143
4.4.
Budowanie usugi prognozy pogody ........................................................................................ 144
4.5.
Komunikacja WeatherAlertService z innymi aplikacjami .................................................... 148
4.5.1. Jzyk definicji interfejsu ................................................................................................... 148
4.5.2. Binder oraz Parcelable ...................................................................................................... 150
4.5.3. Udostpnianie zdalnego interfejsu ................................................................................... 151
4.5.4. czenie z usug .............................................................................................................. 152
4.5.5. Uruchamianie i doczanie usugi .................................................................................... 155
4.5.6. Cykl ycia usugi ................................................................................................................ 156
4.6.
Podsumowanie ............................................................................................................................ 157
5.
Zapisywanie i odczytywanie danych
159
5.1.
Uycie waciwoci ..................................................................................................................... 160
5.1.1. Wykorzystanie obiektu SharedPreferences ..................................................................... 160
5.1.2. Uprawnienia dostpu do waciwoci .............................................................................. 163
5.2.
Uycie 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
5.3.
Zapisywanie danych w bazie danych ....................................................................................... 174
5.3.1. Budowanie i wykorzystanie bazy danych ......................................................................... 175
5.3.2. Wykorzystanie programu sqlite3 ...................................................................................... 179
5.4.
Uycie klas ContentProvider .................................................................................................... 180
5.4.1. Uycie istniejcej klasy ContentProvider ........................................................................ 181
5.4.2. Tworzenie dostawcy treci ................................................................................................ 182
5.5.
Podsumowanie ............................................................................................................................ 188
6.
Sieci oraz usugi sieciowe
189
6.1.
Przegld zagadnie sieciowych ................................................................................................ 191
6.1.1. Podstawy sieci .................................................................................................................... 191
6.1.2. Serwery i klienty ................................................................................................................ 194
6.2.
Sprawdzanie stanu sieci ............................................................................................................ 195
6.3.
Komunikacja poprzez gniazdo serwera ................................................................................... 196
6.4.
Wykorzystanie HTTP ................................................................................................................ 199
6.4.1. Proste dania HTTP i java.net ........................................................................................ 199
6.4.2. Zaawansowana obsuga HTTP za pomoc HttpClient .................................................... 201
6.4.3. Tworzenie klasy pomocniczej dla wywoa HTTP i HTTPS ......................................... 203
6
Spis treci
6.5.
Usugi sieciowe ........................................................................................................................... 209
6.5.1. POX — poczenie HTTP i XML .................................................................................... 209
6.5.2. REST .................................................................................................................................. 211
6.5.3. SOAP czy nie SOAP — oto jest pytanie .......................................................................... 215
6.6.
Podsumowanie ............................................................................................................................ 216
7.
Telefonia
217
7.1.
Przegld podstawowych zagadnie zwizanych z telefoni .................................................. 218
7.1.1. Poznajemy GSM ................................................................................................................ 219
7.1.2. Poznajemy CDMA ............................................................................................................ 220
7.2.
Dostp do danych telefonii ....................................................................................................... 221
7.2.1. Odczyt waciwoci telefonu ............................................................................................. 222
7.2.2. Pozyskiwanie informacji o stanie telefonu ....................................................................... 224
7.3.
Interakcja z telefonem ............................................................................................................... 226
7.3.1. Uycie intencji do nawizywania pocze ...................................................................... 226
7.3.2. Uycie narzdzi zwizanych z numerami telefonicznymi ............................................... 227
7.3.3. Przechwytywanie pocze wychodzcych ...................................................................... 229
7.4.
Obsuga wiadomoci — SMS .................................................................................................... 230
7.4.1. Wysyanie wiadomoci SMS ............................................................................................. 231
7.4.2. Odbieranie wiadomoci SMS ........................................................................................... 233
7.5.
Podsumowanie ............................................................................................................................ 235
8.
Powiadomienia i alarmy
237
8.1.
Korzystanie z Toast .................................................................................................................... 238
8.1.1. Tworzenie aplikacji SMS korzystajcej z klasy Toast ...................................................... 238
8.1.2. Odbieranie wiadomoci SMS ........................................................................................... 239
8.2.
Wprowadzenie do powiadomie .............................................................................................. 242
8.2.1. Klasa Notification .............................................................................................................. 243
8.2.2. Powiadamianie uytkownika o wiadomoci SMS ............................................................ 244
8.3.
Wprowadzenie do alarmów ...................................................................................................... 247
8.3.1. Przykad uycia alarmu ..................................................................................................... 248
8.3.2. Uycie powiadomie z alarmami ...................................................................................... 252
8.4.
Podsumowanie ............................................................................................................................ 253
9.
Grafika i animacja
255
9.1.
Rysowanie grafiki w systemie Android .................................................................................... 256
9.1.1. Rysowanie przy uyciu XML ............................................................................................ 257
9.1.2. Przegld figur rysowanych za pomoc XML ................................................................... 259
9.2.
Tworzenie animacji za pomoc API graficznego .................................................................... 261
9.2.1. Animacja poklatkowa w Androidzie ................................................................................. 261
9.2.2. Programowe tworzenie animacji ...................................................................................... 263
9.3.
Wprowadzenie do OpenGL dla systemów wbudowanych .................................................... 267
9.3.1. Tworzenie kontekstu OpenGL ......................................................................................... 268
9.3.2. Rysowanie prostokta za pomoc OpenGL ES ............................................................... 272
9.3.3. Tworzenie trójwymiarowych ksztatów i powierzchni za pomoc OpenGL ES ........... 275
9.4.
Podsumowanie ............................................................................................................................ 279
10.
Multimedia 281
10.1. Wprowadzenie do multimediów oraz OpenCORE ................................................................ 282
10.2. Odtwarzanie dwików ............................................................................................................. 283
10.3. Odtwarzanie wideo .................................................................................................................... 285
Zgłoś jeśli naruszono regulamin