Alle Kapitel aufklappen
Alle Kapitel zuklappen
1 Android - eine offene, mobile Plattform
19
1.1.1 Open Handset Alliance
20
1.1.3 Evolution einer Plattform
21
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
2.1.1 Projekte anlegen
48
2.2 Benutzeroberfläche
60
2.2.3 Oberflächenbeschreibungen
64
2.3 Programmlogik und -ablauf
66
2.3.2 Benutzereingaben
72
2.3.3 Der letzte Schliff
73
3 Von der Idee zur Veröffentlichung
79
3.1 Konzept und Realisierung
79
3.1.3 Benutzeroberfläche
84
3.2 Vom Programm zum Produkt
91
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
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.2 Kommunikation zwischen Activities
132
4.2.3 Broadcast Receiver
137
4.3.2 Ein Fragment in eine Activity einbetten
145
4.3.3 Mehrspaltenlayouts
150
4.4.1 Normale und gefährliche Berechtigungen
158
4.4.2 Tipps und Tricks zu Berechtigungen
165
5 Benutzeroberflächen
169
5.1 Views und ViewGroups
169
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.4 Homescreen und Programmstarter
220
6.1.1 Threads in Java
228
6.1.2 Umgang mit Threads in Android
233
6.2.1 Gestartete Services
239
6.2.2 Gebundene Services
248
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
Teil III Telefonfunktionen nutzen
273
7 Telefonieren und surfen
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.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
8 Sensoren, GPS und Bluetooth
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.1 Geräte finden und koppeln
358
8.3.2 Daten senden und empfangen
363
8.3.3 Bluetooth Low Energy
373
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.1 Druckgrundlagen
408
9.3.2 Eigene Dokumenttypen drucken
411
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
Teil V Organizer und Multimedia
453
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.1 Die Klasse »AudioEffekteDemo«
466
11.2.2 Bass Boost und Virtualizer
470
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
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.1 Die App »KameraDemo4«
522
12.3.2 Die Klasse »MediaRecorder« konfigurieren
531
13 Kontakte und Organizer
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
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.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
A Literaturverzeichnis
611
B Die Begleitmaterialien
613
C Häufig benötigte Codebausteine
617