Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Vorwort
13
1 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 OsmAnd Karten & Navigation
26
1.3.2 Google Sky Map
27
1.3.3 Hoccer
28
1.3.4 c:geo
30
1.3.5 Barcode & QR Scanner
31
1.3.6 Öffi
32
1.3.7 Wikitude World Browser
33
1.3.8 Sprachsuche
35
1.3.9 Cut the Rope
37
1.3.10 Shaky Tower
38
2 Ist Java nicht auch eine Insel?
41
2.1 Warum Java?
41
2.2 Grundlagen
43
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
49
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
3 Vorbereitungen
71
3.1 Was brauche ich, um zu beginnen?
71
3.2 Schritt 1: JDK installieren
73
3.3 Schritt 2: Android Studio installieren
75
3.4 Schritt 3: Das Android SDK
76
3.5 Ein neues App-Projekt anlegen
79
3.6 Android Studio mit dem Handy verbinden
82
3.7 Fehlersuche
83
3.7.1 Einen Stacktrace lesen
84
3.7.2 Logging einbauen
88
3.7.3 Schritt für Schritt debuggen
89
4 Die erste App
93
4.1 Sag »Hallo«, Android!
93
4.1.1 Die »MainActivity«
95
4.1.2 Der erste Start
101
4.2 Bestandteile einer Android-App
102
4.2.1 Activitys anmelden
103
4.2.2 Permissions
105
4.2.3 Ressourcen
106
4.2.4 Generierte Dateien
108
4.2.5 Die Build-Skripte
111
4.3 Benutzeroberflächen bauen
114
4.3.1 Layout bearbeiten
115
4.3.2 String-Ressourcen
118
4.3.3 Layout-Komponenten
121
4.3.4 Weitere visuelle Komponenten
123
4.4 Buttons mit Funktion
124
4.4.1 Der »OnClickListener«
124
4.4.2 Den »Listener« implementieren
125
4.5 Eine App installieren
129
4.5.1 Installieren per USB
129
4.5.2 Installieren mit ADB
130
4.5.3 Drahtlos installieren
131
5 Ein Spiel entwickeln
135
5.1 Wie viele Stechmücken kann man in einer Minute fangen?
135
5.1.1 Der Plan
136
5.1.2 Das Projekt erzeugen
136
5.1.3 Layouts vorbereiten
138
5.1.4 Die »GameActivity«
138
5.2 Grafiken einbinden
141
5.2.1 Die Mücke und der Rest der Welt
142
5.2.2 Grafiken einbinden
143
5.3 Die Game Engine
145
5.3.1 Aufbau einer Game Engine
146
5.3.2 Ein neues Spiel starten
147
5.3.3 Eine Runde starten
148
5.3.4 Den Bildschirm aktualisieren
148
5.3.5 Die verbleibende Zeit herunterzählen
155
5.3.6 Prüfen, ob das Spiel vorbei ist
159
5.3.7 Prüfen, ob eine Runde vorbei ist
162
5.3.8 Eine Mücke anzeigen
162
5.3.9 Eine Mücke verschwinden lassen
168
5.3.10 Das Treffen einer Mücke mit dem Finger verarbeiten
172
5.3.11 »Game Over«
173
5.3.12 Der Handler
175
5.4 Der erste Mückenfang
179
5.4.1 Retrospektive
180
5.4.2 Feineinstellungen
181
5.4.3 Hintergrundbilder
183
5.4.4 Elefanten hinzufügen
184
6 Sound und Animation
187
6.1 Sounds hinzufügen
188
6.1.1 Sounds erzeugen
188
6.1.2 Sounds als Ressource
190
6.2 Sounds abspielen
191
6.2.1 Der MediaPlayer
191
6.2.2 MediaPlayer initialisieren
192
6.2.3 Zurückspulen und Abspielen
193
6.3 Einfache Animationen
195
6.3.1 Views einblenden
195
6.3.2 Wackelnde Buttons
198
6.3.3 Interpolation
202
6.4 Fliegende Mücken
206
6.4.1 Grundgedanken zur Animation von Views
206
6.4.2 Geschwindigkeit festlegen
206
6.4.3 Mücken bewegen
208
6.4.4 Bilder laden
210
6.4.5 If-else-Abfragen
212
6.4.6 Zweidimensionale Arrays
214
6.4.7 Resource-IDs ermitteln
215
6.4.8 Retrospektive
216
7 Internet-Zugriff
219
7.1 Highscores speichern
219
7.1.1 Highscore anzeigen
219
7.1.2 Activitys mit Rückgabewert
221
7.1.3 Werte permanent speichern
222
7.1.4 Rekordhalter verewigen
223
7.2 Bestenliste im Internet
229
7.2.1 Die Internet-Erlaubnis
230
7.2.2 Eine ScrollView für die Highscores
231
7.2.3 Der HTTP-Client
232
7.3 Listen mit Adaptern
240
7.3.1 ListViews
240
7.3.2 ArrayAdapter
243
7.3.3 Spinner und Adapter
245
8 Kamera und Augmented Reality
249
8.1 Die Kamera verwenden
249
8.1.1 Die »CameraView«
250
8.1.2 »CameraView« ins Layout integrieren
254
8.1.3 Die Camera-Permission
255
8.2 Bilddaten verwenden
257
8.2.1 Bilddaten anfordern
257
8.2.2 Bilddaten auswerten
259
8.2.3 Tomaten gegen Mücken
261
9 Sensoren und der Rest der Welt
267
9.1 Himmels- und sonstige Richtungen
267
9.1.1 Der »SensorManager«
268
9.1.2 Rufen Sie nicht an, wir rufen Sie an
269
9.1.3 Die Kompassnadel und das »Canvas«-Element
271
9.1.4 View und Activity verbinden
274
9.2 Wo fliegen sie denn?
275
9.2.1 Sphärische Koordinaten
276
9.2.2 Die virtuelle Kamera
277
9.2.3 Mücken vor der virtuellen Kamera
279
9.2.4 Der Radarschirm
283
9.3 Beschleunigung und Erschütterungen
289
9.3.1 Ein Schrittzähler
290
9.3.2 Mit dem »SensorEventListener« kommunizieren
292
9.3.3 Schritt für Schritt
295
9.4 Hintergrund-Services
297
9.4.1 Eine Service-Klasse
298
9.4.2 Service steuern
300
9.4.3 Einfache Service-Kommunikation
301
9.5 Arbeiten mit Geokoordinaten
304
9.5.1 Der Weg ins Büro
305
9.5.2 Koordinaten ermitteln
306
9.5.3 Karten und Overlay
309
10 Smartwatch und Android Wear
317
10.1 Welt am Handgelenk
317
10.2 Phone ruft Uhr
319
10.2.1 Notifications
320
10.2.2 »WearableExtender«
321
10.2.3 Interaktive Notifications
322
10.3 Ein Wear-Projekt
323
10.3.1 »wear«-Modul hinzufügen
323
10.3.2 Rund oder eckig?
325
10.4 Uhr ruft Phone
326
10.4.1 Buttons verdrahten
327
10.4.2 Wear-Apps installieren
327
10.4.3 Den Service fernsteuern
328
10.4.4 NodesAPI-Nachrichten empfangen
329
10.5 Wear 2.0
331
10.5.1 Complications
332
10.6 Fazit
335
11 Tipps und Tricks
337
11.1 Views mit Stil
337
11.1.1 Hintergrundgrafiken
337
11.1.2 Styles
339
11.1.3 Themes
340
11.1.4 Button-Zustände
341
11.1.5 9-Patches
342
11.1.6 Shape Drawables
344
11.1.7 Shader, Path-Effekte und Filter
345
11.2 Dialoge
347
11.2.1 Standarddialoge
348
11.2.2 Eigene Dialoge
353
11.2.3 Toasts
356
11.3 Layout-Gefummel
357
11.3.1 RelativeLayouts
357
11.3.2 Layout-Gewichte
358
11.4 Homescreen-Widgets
359
11.4.1 Widget-Layout
359
11.4.2 Widget-Provider
360
11.4.3 Das Widget anmelden
361
12 Apps veröffentlichen
365
12.1 Vorarbeiten
365
12.1.1 Zertifikat erstellen
365
12.1.2 Das Entwicklerkonto
368
12.1.3 Die Entwicklerkonsole
368
12.2 Hausaufgaben
371
12.2.1 Updates
371
12.2.2 Statistiken
372
12.2.3 Fehlerberichte
374
12.2.4 In-App-Payment
376
12.2.5 In-App-Produkte
377
12.2.6 Die »Billing API Version 3« initialisieren
379
12.2.7 Ein In-App-Produkt kaufen
381
12.3 Alternative Markets
383
12.3.1 Amazon AppStore
383
12.3.2 AppsLib
385
12.3.3 SlideME.org
387
12.3.4 Fazit
388
Die Buch-DVD
389
Index
391