Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Vorwort
15
Teil I Grundlagen
19
1 Android – eine offene, mobile Plattform
21
1.1 Entstehung
21
1.1.1 Open Handset Alliance
22
1.1.2 Android, Inc.
22
1.1.3 Evolution einer Plattform
23
1.2 Systemarchitektur
26
1.2.1 Überblick
27
1.2.2 Application Framework
30
1.3 Entwicklungswerkzeuge
31
1.3.1 Android Studio und Android SDK installieren
31
1.3.2 Die ersten Schritte mit Android Studio
34
1.3.3 Das erste Projekt
39
1.4 Zusammenfassung
45
2 Hallo Android!
47
2.1 Android-Projekte
47
2.1.1 Projekte anlegen
48
2.1.2 Projektstruktur
55
2.2 Benutzeroberfläche
59
2.2.1 Texte
60
2.2.2 Views
62
2.2.3 Oberflächenbeschreibungen
63
2.3 Programmlogik und -ablauf
66
2.3.1 Activities
67
2.3.2 Benutzereingaben
71
2.3.3 Der letzte Schliff
72
2.4 Zusammenfassung
76
3 Von der Idee zur Veröffentlichung
77
3.1 Konzept und Realisierung
77
3.1.1 Konzeption
78
3.1.2 Fachlogik
79
3.1.3 Benutzeroberfläche
84
3.2 Vom Programm zum Produkt
91
3.2.1 Protokollierung
91
3.2.2 Fehler suchen und finden
95
3.2.3 Debuggen auf echter Hardware
99
3.3 Anwendungen verteilen
102
3.3.1 Die App vorbereiten
102
3.3.2 Apps in Google Play einstellen
106
3.3.3 Alternative Märkte und Ad-hoc-Verteilung
107
3.4 Zusammenfassung
108
Teil II Elementare Anwendungsbausteine
109
4 Activities und Broadcast Receiver
111
4.1 Was sind Activities?
111
4.1.1 Struktur von Apps
111
4.1.2 Lebenszyklus von Activities
121
4.2 Kommunikation zwischen Anwendungsbausteinen
130
4.2.1 Intents
131
4.2.2 Kommunikation zwischen Activities
132
4.2.3 Broadcast Receiver
137
4.3 Fragmente
142
4.3.1 Grundlagen
142
4.3.2 Ein Fragment in eine Activity einbetten
145
4.3.3 Mehrspalten-Layouts
150
4.4 Berechtigungen
157
4.4.1 Normale und gefährliche Berechtigungen
157
4.4.2 Tipps und Tricks zu Berechtigungen
164
4.5 Zusammenfassung
167
5 Benutzeroberflächen
169
5.1 Views und ViewGroups
169
5.1.1 Views
171
5.1.2 Positionierung von Bedienelementen mit ViewGroups
178
5.2 Alternative Ressourcen
185
5.2.1 Automatische Layout-Auswahl
185
5.2.2 Bitmaps und Pixeldichte
196
5.3 Vorgefertigte Bausteine für Oberflächen
197
5.3.1 Nützliche Activities
197
5.3.2 Dialoge
208
5.3.3 Menüs
213
5.3.4 Action Bar
219
5.4 Zusammenfassung
223
6 Multitasking
225
6.1 Threads
226
6.1.1 Threads in Java
226
6.1.2 Umgang mit Threads in Android
231
6.2 Services
237
6.2.1 Gestartete Services
238
6.2.2 Gebundene Services
245
6.3 Job Scheduler
258
6.3.1 Jobs bauen und ausführen
259
6.3.2 Jobs implementieren
261
6.4 Mehrere Apps gleichzeitig nutzen
263
6.4.1 Zwei-App-Darstellung
263
6.4.2 Beliebig positionierbare Fenster
267
6.5 Zusammenfassung
267
Teil III Telefonfunktionen nutzen
269
7 Telefonieren und Surfen
271
7.1 Telefonieren
271
7.1.1 Anrufe tätigen und SMS versenden
271
7.1.2 Auf eingehende Anrufe reagieren
275
7.2 Telefon- und Netzstatus
280
7.2.1 Geräte identifizieren
280
7.2.2 Netzwerkinformationen anzeigen
281
7.2.3 Carrier Services
283
7.3 Das Call Log
286
7.3.1 Entgangene Anrufe ermitteln
286
7.3.2 Änderungen vornehmen und erkennen
291
7.4 Webseiten mit WebView anzeigen
293
7.4.1 Einen einfachen Webbrowser programmieren
293
7.4.2 JavaScript nutzen
301
7.5 Webservices nutzen
307
7.5.1 Auf Webinhalte zugreifen
308
7.5.2 Senden von Daten
316
7.6 Zusammenfassung
321
8 Sensoren und GPS
323
8.1 Sensoren
323
8.1.1 Die Klasse SensorManager
324
8.1.2 Dynamische Sensoren und Trigger
330
8.1.3 Ein Schrittzähler
333
8.2 GPS und ortsbezogene Dienste
339
8.2.1 Den aktuellen Standort ermitteln
340
8.2.2 Positionen in einer Karte anzeigen
346
8.3 Zusammenfassung
354
Teil IV Dateien und Datenbanken
355
9 Dateien lesen, schreiben und drucken
357
9.1 Grundlegende Dateioperationen
357
9.1.1 Dateien lesen und schreiben
357
9.1.2 Mit Verzeichnissen arbeiten
365
9.2 Externe Speichermedien
369
9.2.1 Mit externem Speicher arbeiten
369
9.2.2 Storage Manager
375
9.3 Drucken
380
9.3.1 Druckgrundlagen
380
9.3.2 Eigene Dokumenttypen drucken
384
9.4 Zusammenfassung
390
10 Datenbanken
391
10.1 Erste Schritte mit SQLite
391
10.1.1 Einstieg in SQLite
392
10.1.2 SQLite in Apps nutzen
396
10.2 Fortgeschrittene Operationen
401
10.2.1 Klickverlauf mit SELECT ermitteln
401
10.2.2 Daten mit UPDATE ändern und mit DELETE löschen
408
10.3 Implementierung eines eigenen Content Providers
410
10.3.1 Anpassungen an der App »TKMoodley«
410
10.3.2 Klasse android.content.ContentProvider
415
10.4 Zusammenfassung
422
Teil V Organizer und Multimedia
423
11 Audio
425
11.1 Rasender Reporter – ein Diktiergerät als App
425
11.1.1 Struktur der App
425
11.1.2 Audio aufnehmen und abspielen
429
11.2 Effekte
435
11.2.1 Die Klasse »AudioEffekteDemo«
435
11.2.2 Bass Boost und Virtualizer
440
11.2.3 Hall
441
11.3 Sprachsynthese
441
11.3.1 Nutzung der Sprachsynthese-Komponente vorbereiten
442
11.3.2 Texte vorlesen und Sprachausgaben speichern
448
11.4 Weitere Audiofunktionen
450
11.4.1 Spracherkennung
450
11.4.2 Tastendrücke von Headsets verarbeiten
454
11.5 Zusammenfassung
458
12 Fotos und Video
459
12.1 Vorhandene Activities nutzen
459
12.1.1 Kamera-Activity starten
459
12.1.2 Aufgenommene Fotos weiterverarbeiten
462
12.1.3 Mit der Galerie arbeiten
467
12.1.4 Inhalte teilen
470
12.2 Die eigene Kamera-App
479
12.2.1 Kamera-Auswahl und Live-Vorschau
479
12.2.2 Fotos aufnehmen
489
12.3 Videos drehen
492
12.3.1 Die App »KameraDemo4«
492
12.3.2 »MediaRecorder« konfigurieren
500
12.4 Zusammenfassung
501
13 Kontakte und Organizer
503
13.1 Kontakte
503
13.1.1 Eine einfache Kontaktliste ausgeben
503
13.1.2 Weitere Kontaktdaten ausgeben
507
13.1.3 Geburtstage hinzufügen und aktualisieren
509
13.2 Auf Google-Konten zugreifen
516
13.2.1 Emulator konfigurieren
517
13.2.2 Aufgabenliste auslesen
522
13.3 Kalender und Termine
529
13.3.1 Termine anlegen und auslesen
530
13.3.2 Alarme und Timer
532
13.3.3 Die Klasse »CalendarContract«
538
13.4 Zusammenfassung
540
14 Android Wear
541
14.1 Rundgang durch Android Wear
542
14.1.1 Bedienphilosophie
542
14.1.2 Die Android Wear Companion-App
544
14.2 Benachrichtigungen
545
14.2.1 Benachrichtigungen anzeigen
546
14.2.2 Android-Wear-Emulator einrichten
553
14.3 Wearable Apps
557
14.3.1 Projektstruktur
557
14.3.2 Anatomie einer rudimentären Wearable App
560
14.4 Animierte Zifferblätter
564
14.4.1 Aufbau von animierten Zifferblättern
564
14.4.2 Benutzereinstellungen
576
14.5 Zusammenfassung
585
Anhang
587
A Literaturverzeichnis
589
B Die Begleitmaterialien
591
C Häufig benötigte Code-Bausteine
595
D Neuerungen in Android 7.1
601
Index
609