Android-Apps entwickeln für Einsteiger - Eigene Spiele-Apps für Leser mit Programmierkenntnissen! Aktuell zu Android 5
von: Uwe Post
Galileo Press, 2013
ISBN: 9783836226295
Sprache: Deutsch
409 Seiten, Download: 13348 KB
Format: PDF, auch als Online-Lesen
Mehr zum Inhalt
Android-Apps entwickeln für Einsteiger - Eigene Spiele-Apps für Leser mit Programmierkenntnissen! Aktuell zu Android 5
Einleitung | 15 | ||
1.1 Für wen ist dieses Buch? | 15 | ||
1.1.1 Magie? | 16 | ||
1.1.2 Große Zahlen | 16 | ||
1.1.3 Technologie für alle | 17 | ||
1.1.4 Die Grenzen der Physik | 18 | ||
1.2 Unendliche Möglichkeiten | 20 | ||
1.2.1 Baukasten | 20 | ||
1.2.2 Spiel ohne Grenzen | 21 | ||
1.2.3 Alles geht | 25 | ||
1.3 Was ist so toll an Android? | 25 | ||
1.3.1 MapDroyd | 26 | ||
1.3.2 Google Sky Map | 27 | ||
1.3.3 Bump | 28 | ||
1.3.4 c:geo | 30 | ||
1.3.5 barcoo | 32 | ||
1.3.6 Öffi | 33 | ||
1.3.7 Wikitude World Browser | 34 | ||
1.3.8 Sprachsuche | 35 | ||
1.3.9 Cut the Rope | 37 | ||
1.3.10 Shaky Tower | 38 | ||
Ist Java nicht auch eine Insel? | 41 | ||
2.1 Warum Java? | 41 | ||
2.2 Grundlagen | 44 | ||
2.2.1 Objektorientierung - Klassen und Objekte | 44 | ||
2.2.2 Konstruktoren | 46 | ||
2.3 Pakete | 47 | ||
2.3.1 Packages deklarieren | 47 | ||
2.3.2 Klassen importieren | 48 | ||
2.4 Klassen implementieren | 49 | ||
2.4.1 Attribute | 50 | ||
2.4.2 Methoden | 53 | ||
2.4.3 Zugriffsbeschränkungen | 55 | ||
2.4.4 Eigene Konstruktoren | 58 | ||
2.4.5 Lokale Variablen | 60 | ||
2.5 Daten verwalten | 61 | ||
2.5.1 Listen | 61 | ||
2.5.2 Schleifen | 64 | ||
2.6 Vererbung | 65 | ||
2.6.1 Basisklassen | 65 | ||
2.6.2 Polymorphie | 68 | ||
Vorbereitungen | 71 | ||
3.1 Was brauche ich, um zu beginnen? | 71 | ||
3.2 JDK installieren | 73 | ||
3.3 Eclipse installieren | 75 | ||
3.4 Tour durch Eclipse | 77 | ||
3.5 Android Development Tools installieren | 80 | ||
3.6 Android SDK installieren | 82 | ||
3.7 SDK Tools installieren | 83 | ||
3.8 Ein virtuelles Gerät erzeugen | 85 | ||
3.9 Eclipse mit dem Handy verbinden | 88 | ||
3.10 Fehlersuche | 89 | ||
3.10.1 Einen Stacktrace lesen | 89 | ||
3.10.2 Logging einbauen | 93 | ||
3.10.3 Schritt für Schritt debuggen | 95 | ||
3.11 Was tun, wenn mein Eclipse verrücktspielt? | 97 | ||
3.11.1 Unerklärliche Unterstreichungen | 97 | ||
3.11.2 Ein Handy namens Fragezeichen | 98 | ||
3.11.3 Eclipse hängt sich auf | 98 | ||
3.11.4 Eclipse findet Resource-Dateien nicht | 98 | ||
3.11.5 Eclipse installiert die App nicht auf dem Handy | 99 | ||
3.11.6 App vermisst existierende Ressourcen | 99 | ||
3.11.7 LogCat bleibt stehen | 99 | ||
Die erste App | 101 | ||
4.1 Sag »Hallo«, Android! | 101 | ||
4.1.1 Ein neues Android-Projekt erstellen | 101 | ||
4.1.2 Die StartActivity | 104 | ||
4.1.3 Der erste Start | 110 | ||
4.2 Bestandteile einer Android-App | 112 | ||
4.2.1 Versionsnummern | 113 | ||
4.2.2 Activities anmelden | 114 | ||
4.2.3 Permissions | 116 | ||
4.2.4 Ressourcen | 117 | ||
4.2.5 Generierte Dateien | 119 | ||
4.3 Benutzeroberflächen bauen | 124 | ||
4.3.1 Layout bearbeiten | 124 | ||
4.3.2 String-Ressourcen | 127 | ||
4.3.3 Layout-Komponenten | 131 | ||
4.3.4 Weitere visuelle Komponenten | 135 | ||
4.4 Buttons mit Funktion | 136 | ||
4.4.1 Der »OnClickListener« | 136 | ||
4.4.2 Den »Listener« implementieren | 137 | ||
4.5 Eine App installieren | 139 | ||
4.5.1 Start mit ADT | 140 | ||
4.5.2 Installieren per USB | 140 | ||
4.5.3 Installieren mit ADB | 141 | ||
4.5.4 Drahtlos installieren | 142 | ||
Ein Spiel entwickeln | 145 | ||
5.1 Wie viele Stechmücken kann man in einer Minute fangen? | 145 | ||
5.1.1 Der Plan | 146 | ||
5.1.2 Das Projekt erzeugen | 146 | ||
5.1.3 Layouts vorbereiten | 148 | ||
5.1.4 Die »GameActivity« | 148 | ||
5.2 Grafiken einbinden | 152 | ||
5.2.1 Die Mücke und der Rest der Welt | 152 | ||
5.2.2 Grafiken einbinden | 154 | ||
5.3 Die Game Engine | 156 | ||
5.3.1 Aufbau einer Game Engine | 156 | ||
5.3.2 Ein neues Spiel starten | 157 | ||
5.3.3 Eine Runde starten | 158 | ||
5.3.4 Den Bildschirm aktualisieren | 159 | ||
5.3.5 Die verbleibende Zeit herunterzählen | 166 | ||
5.3.6 Prüfen, ob das Spiel vorbei ist | 170 | ||
5.3.7 Prüfen, ob eine Runde vorbei ist | 173 | ||
5.3.8 Eine Mücke anzeigen | 173 | ||
5.3.9 Eine Mücke verschwinden lassen | 178 | ||
5.3.10 Das Treffen einer Mücke mit dem Finger verarbeiten | 183 | ||
5.3.11 »Game Over« | 184 | ||
5.3.12 Der Handler | 186 | ||
5.4 Der erste Mückenfang | 190 | ||
5.4.1 Retrospektive | 191 | ||
5.4.2 Feineinstellungen | 191 | ||
5.4.3 Hintergrundbilder | 193 | ||
5.4.4 Elefanten hinzufügen | 194 | ||
Sound und Animation | 197 | ||
6.1 Sounds hinzufügen | 198 | ||
6.1.1 Sounds erzeugen | 198 | ||
6.1.2 Sounds als Ressource | 200 | ||
6.2 Sounds abspielen | 202 | ||
6.2.1 Der MediaPlayer | 202 | ||
6.2.2 MediaPlayer initialisieren | 203 | ||
6.2.3 Zurückspulen und Abspielen | 204 | ||
6.3 Einfache Animationen | 205 | ||
6.3.1 Views einblenden | 206 | ||
6.3.2 Wackelnde Buttons | 209 | ||
6.3.3 Interpolation | 212 | ||
6.4 Fliegende Mücken | 216 | ||
6.4.1 Grundgedanken zur Animation von Views | 216 | ||
6.4.2 Geschwindigkeit festlegen | 216 | ||
6.4.3 Mücken bewegen | 218 | ||
6.4.4 Bilder programmatisch laden | 222 | ||
6.4.5 If-else-Abfragen | 224 | ||
6.4.6 Zweidimensionale Arrays | 225 | ||
6.4.7 Resource-IDs ermitteln | 227 | ||
6.4.8 Retrospektive | 228 | ||
Internet-Zugriff | 231 | ||
7.1 Highscores speichern | 231 | ||
7.1.1 Highscore anzeigen | 231 | ||
7.1.2 Activities mit Rückgabewert | 233 | ||
7.1.3 Werte permanent speichern | 234 | ||
7.1.4 Rekordhalter verewigen | 235 | ||
7.2 Bestenliste im Internet | 241 | ||
7.2.1 Ein App-Engine-Projekt | 242 | ||
7.2.2 URL-Parameter entgegennehmen | 244 | ||
7.2.3 Daten im High Replication Datastore speichern | 245 | ||
7.2.4 Highscores aus dem Datastore auslesen | 246 | ||
7.2.5 Die Internet-Erlaubnis | 249 | ||
7.2.6 Der Android-HTTP-Client | 249 | ||
7.2.7 Background-Threads | 256 | ||
7.2.8 Die Oberfläche aktualisieren | 258 | ||
7.2.9 Highscores zum Server schicken | 260 | ||
7.2.10 HTML darstellen | 262 | ||
7.2.11 HTML mit Bildern | 265 | ||
7.3 Listen mit Adaptern | 267 | ||
7.3.1 ListViews | 267 | ||
7.3.2 ArrayAdapter | 271 | ||
7.3.3 Eigene Adapter | 275 | ||
7.3.4 Recyceln von Views | 279 | ||
Kamera und Augmented Reality | 281 | ||
8.1 Die Kamera verwenden | 281 | ||
8.1.1 Die »CameraView« | 282 | ||
8.1.2 »CameraView« ins Layout integrieren | 286 | ||
8.1.3 Die Camera-Permission | 288 | ||
8.2 Bilddaten verwenden | 289 | ||
8.2.1 Bilddaten anfordern | 290 | ||
8.2.2 Bilddaten auswerten | 291 | ||
8.2.3 Tomaten gegen Mücken | 294 | ||
Sensoren und der Rest der Welt | 301 | ||
9.1 Himmels- und sonstige Richtungen | 301 | ||
9.1.1 Der »SensorManager« | 302 | ||
9.1.2 Rufen Sie nicht an, wir rufen Sie an | 303 | ||
9.1.3 Die Kompassnadel und das »Canvas«-Element | 305 | ||
9.1.4 View und Activity verbinden | 308 | ||
9.2 Wo fliegen sie denn? | 309 | ||
9.2.1 Sphärische Koordinaten | 310 | ||
9.2.2 Die virtuelle Kamera | 311 | ||
9.2.3 Mücken vor der virtuellen Kamera | 313 | ||
9.2.4 Der Radarschirm | 317 | ||
9.3 Beschleunigung und Erschütterungen | 323 | ||
9.3.1 Ein Schrittzähler | 324 | ||
9.3.2 Mit dem »SensorEventListener« kommunizieren | 326 | ||
9.3.3 Schritt für Schritt | 329 | ||
9.4 Hintergrund-Services | 331 | ||
9.4.1 Eine Service-Klasse | 332 | ||
9.4.2 Service steuern | 334 | ||
9.4.3 Einfache Service-Kommunikation | 336 | ||
9.5 Arbeiten mit Geokoordinaten | 339 | ||
9.5.1 Der Weg ins Büro | 339 | ||
9.5.2 Koordinaten ermitteln | 341 | ||
9.5.3 Karten und Overlay | 343 | ||
Tipps und Tricks | 349 | ||
10.1 Views mit Stil | 349 | ||
10.1.1 Hintergrundgrafiken | 349 | ||
10.1.2 Styles | 351 | ||
10.1.3 Themes | 352 | ||
10.1.4 Button-Zustände | 354 | ||
10.1.5 9-Patches | 355 | ||
10.2 Dialoge | 357 | ||
10.2.1 Standarddialoge | 357 | ||
10.2.2 Eigene Dialoge | 363 | ||
10.2.3 Toasts | 365 | ||
10.3 Layout-Gefummel | 366 | ||
10.3.1 RelativeLayouts | 366 | ||
10.3.2 Layout-Gewichte | 368 | ||
10.4 Homescreen-Widgets | 369 | ||
10.4.1 Widget-Layout | 369 | ||
10.4.2 Widget-Provider | 370 | ||
10.4.3 Das Widget anmelden | 371 | ||
Apps veröffentlichen | 375 | ||
11.1 Vorarbeiten | 375 | ||
11.1.1 Zertifikat erstellen | 375 | ||
11.1.2 Das Entwicklerkonto | 377 | ||
11.1.3 Die Entwicklerkonsole | 378 | ||
11.2 Hausaufgaben | 381 | ||
11.2.1 Updates | 381 | ||
11.2.2 Statistiken | 383 | ||
11.2.3 Fehlerberichte | 384 | ||
11.2.4 In-App-Payment | 387 | ||
11.2.5 In-App-Produkte | 388 | ||
11.2.6 Die Billing API Version 3 initialisieren | 390 | ||
11.2.7 Ein In-App-Produkt kaufen | 391 | ||
11.3 Alternative Markets | 393 | ||
11.3.1 Amazon AppStore | 394 | ||
11.3.2 AppsLib | 396 | ||
11.3.3 AndroidPIT App Center | 397 | ||
11.3.4 SlideME.org | 399 |