Inhaltsverzeichnis

Alle Kapitel aufklappen
Alle Kapitel zuklappen
Vorwort
14
Teil I Grundlagen
17
1 Android - eine offene, mobile Plattform
19
1.1 Entstehung
19
1.1.1 Open Handset Alliance
20
1.1.2 Android, Inc.
20
1.1.3 Evolution einer Plattform
21
1.2 Systemarchitektur
25
1.2.1 Überblick
25
1.2.2 Application Framework
31
1.3 Entwicklungswerkzeuge
32
1.3.1 Android Studio und Android SDK installieren
32
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
56
2.2 Benutzeroberfläche
60
2.2.1 Texte
60
2.2.2 Views
62
2.2.3 Oberflächenbeschreibungen
64
2.3 Programmlogik und -ablauf
66
2.3.1 Activities
67
2.3.2 Benutzereingaben
72
2.3.3 Der letzte Schliff
73
2.4 Zusammenfassung
77
3 Von der Idee zur Veröffentlichung
79
3.1 Konzept und Realisierung
79
3.1.1 Konzeption
80
3.1.2 Fachlogik
81
3.1.3 Benutzeroberfläche
84
3.2 Vom Programm zum Produkt
91
3.2.1 Protokollierung
92
3.2.2 Fehler suchen und finden
95
3.2.3 Debuggen auf echter Hardware
99
3.3 Anwendungen verteilen
101
3.3.1 Die App vorbereiten
101
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 Mehrspaltenlayouts
150
4.4 Berechtigungen
158
4.4.1 Normale und gefährliche Berechtigungen
158
4.4.2 Tipps und Tricks zu Berechtigungen
165
4.5 Zusammenfassung
168
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
184
5.2.1 Automatische Layoutauswahl
184
5.2.2 Bitmaps und Pixeldichte
194
5.3 Vorgefertigte Bausteine für Oberflächen
195
5.3.1 Nützliche Activities
195
5.3.2 Dialoge
206
5.3.3 Menüs
211
5.3.4 Action Bar
217
5.4 Homescreen und Programmstarter
220
5.4.1 App Shortcuts
220
5.4.2 Adaptive Icons
225
5.5 Zusammenfassung
226
6 Multitasking
227
6.1 Threads
228
6.1.1 Threads in Java
228
6.1.2 Umgang mit Threads in Android
233
6.2 Services
238
6.2.1 Gestartete Services
239
6.2.2 Gebundene Services
248
6.3 Job Scheduler
262
6.3.1 Jobs bauen und ausführen
262
6.3.2 Jobs implementieren
264
6.4 Mehrere Apps gleichzeitig nutzen
266
6.4.1 Zwei-App-Darstellung
267
6.4.2 Beliebig positionierbare Fenster
271
6.5 Zusammenfassung
271
Teil III Telefonfunktionen nutzen
273
7 Telefonieren und surfen
275
7.1 Telefonieren
275
7.1.1 Anrufe tätigen und SMS versenden
275
7.1.2 Auf eingehende Anrufe reagieren
279
7.2 Telefon- und Netzstatus
283
7.2.1 Geräte identifizieren
283
7.2.2 Netzwerkinformationen anzeigen
284
7.2.3 Carrier Services
286
7.3 Das Call Log
289
7.3.1 Entgangene Anrufe ermitteln
289
7.3.2 Änderungen vornehmen und erkennen
294
7.4 Webseiten mit WebView anzeigen
296
7.4.1 Einen einfachen Webbrowser programmieren
296
7.4.2 JavaScript nutzen
304
7.5 Webservices nutzen
310
7.5.1 Auf Webinhalte zugreifen
311
7.5.2 Senden von Daten
319
7.6 Zusammenfassung
325
8 Sensoren, GPS und Bluetooth
327
8.1 Sensoren
327
8.1.1 Die Klasse »SensorManager«
328
8.1.2 Dynamische Sensoren und Trigger
334
8.1.3 Ein Schrittzähler
338
8.2 GPS und ortsbezogene Dienste
343
8.2.1 Den aktuellen Standort ermitteln
344
8.2.2 Positionen auf einer Karte anzeigen
350
8.3 Bluetooth
357
8.3.1 Geräte finden und koppeln
358
8.3.2 Daten senden und empfangen
363
8.3.3 Bluetooth Low Energy
373
8.4 Zusammenfassung
379
Teil IV Dateien und Datenbanken
381
9 Dateien lesen, schreiben und drucken
383
9.1 Grundlegende Dateioperationen
383
9.1.1 Dateien lesen und schreiben
383
9.1.2 Mit Verzeichnissen arbeiten
392
9.2 Externe Speichermedien
396
9.2.1 Mit externem Speicher arbeiten
396
9.2.2 Storage Manager
402
9.3 Drucken
407
9.3.1 Druckgrundlagen
408
9.3.2 Eigene Dokumenttypen drucken
411
9.4 Zusammenfassung
418
10 Datenbanken
419
10.1 Erste Schritte mit SQLite
419
10.1.1 Einstieg in SQLite
420
10.1.2 SQLite in Apps nutzen
424
10.2 Fortgeschrittene Operationen
430
10.2.1 Klickverlauf mit SELECT ermitteln
430
10.2.2 Daten mit UPDATE ändern und mit DELETE löschen
437
10.3 Implementierung eines eigenen Content Providers
439
10.3.1 Anpassungen an der App »TKMoodley«
439
10.3.2 Die Klasse »android.content.ContentProvider«
444
10.4 Zusammenfassung
451
Teil V Organizer und Multimedia
453
11 Audio
455
11.1 Rasender Reporter - ein Diktiergerät als App
455
11.1.1 Struktur der App
455
11.1.2 Audio aufnehmen und abspielen
459
11.2 Effekte
465
11.2.1 Die Klasse »AudioEffekteDemo«
466
11.2.2 Bass Boost und Virtualizer
470
11.2.3 Hall
471
11.3 Sprachsynthese
472
11.3.1 Nutzung der Sprachsynthesekomponente vorbereiten
472
11.3.2 Texte vorlesen und Sprachausgaben speichern
478
11.4 Weitere Audiofunktionen
480
11.4.1 Spracherkennung
480
11.4.2 Tastendrücke von Headsets verarbeiten
484
11.5 Zusammenfassung
488
12 Fotos und Video
489
12.1 Vorhandene Activities nutzen
489
12.1.1 Kamera-Activity starten
489
12.1.2 Aufgenommene Fotos weiterverarbeiten
493
12.1.3 Mit der Galerie arbeiten
498
12.1.4 Inhalte teilen
500
12.2 Die eigene Kamera-App
509
12.2.1 Kameraauswahl und Live-Vorschau
510
12.2.2 Fotos aufnehmen
519
12.3 Videos drehen
522
12.3.1 Die App »KameraDemo4«
522
12.3.2 Die Klasse »MediaRecorder« konfigurieren
531
12.4 Zusammenfassung
532
13 Kontakte und Organizer
533
13.1 Kontakte
533
13.1.1 Eine einfache Kontaktliste ausgeben
533
13.1.2 Weitere Kontaktdaten ausgeben
537
13.1.3 Geburtstage hinzufügen und aktualisieren
539
13.2 Auf Google-Konten zugreifen
546
13.2.1 Emulator konfigurieren
547
13.2.2 Aufgabenliste auslesen
551
13.3 Kalender und Termine
556
13.3.1 Termine anlegen und auslesen
557
13.3.2 Alarme und Timer
560
13.3.3 Die Klasse »CalendarContract«
566
13.4 Zusammenfassung
568
14 Android Wear
569
14.1 Rundgang durch Android Wear
569
14.1.1 Bedienphilosophie
570
14.1.2 Die Android-Wear-Companion-App
572
14.2 Benachrichtigungen
573
14.2.1 Benachrichtigungen anzeigen
574
14.2.2 Android-Wear-Emulator einrichten
581
14.3 Wearable Apps
585
14.3.1 Projektstruktur
586
14.3.2 Anatomie einer rudimentären Wearable App
589
14.4 Animierte Zifferblätter
592
14.4.1 Aufbau von animierten Zifferblättern
593
14.4.2 Benutzereinstellungen
604
14.5 Zusammenfassung
607
Anhang
609
A Literaturverzeichnis
611
B Die Begleitmaterialien
613
C Häufig benötigte Codebausteine
617
Index
625