Inhalt | 6 |
1 Einführung | 10 |
1.1 Die Android-Plattform | 11 |
1.2 An wen richtet sich dieses Buch? | 12 |
1.3 Buchaufbau und verwendete Technologien | 12 |
1.4 Vorstellung des Beispielprojekts | 13 |
1.5 Danksagung | 18 |
2 Einrichten der Arbeitsumgebung | 20 |
2.1 Installation von Java | 20 |
2.2 Einrichtung und Konfiguration |
23 |
2.3 Geräte für die Entwicklung einrichten | 32 |
3 Schnelleinstieg |
36 |
3.1 Die erste App mit Eclipse und dem ADT erstellen | 36 |
3.1.1 Ein neues Projekt in Eclipse anlegen | 37 |
3.1.2 Erster Einstieg in Eclipse mit ADT | 41 |
3.1.3 Die Oberfläche der App anpassen (XML-Layout) | 44 |
4.1.4 Der App Funktionalität geben | 50 |
3.1.5 Die Struktur von Android-Projekten | 52 |
3.2 Die App im Emulator und auf einem Gerät testen | 55 |
3.2.1 Emulator definieren | 56 |
3.3.2 Tastaturbefehle für den Android-Emulator | 58 |
3.2.3 Die App auf einem Emulator oder Gerät starten | 58 |
3.3 Crash-Kurs in Java | 61 |
3.3.1 Werte einer Variablen zuordnen | 63 |
3.3.2 Bezeichner und Schlüsselwörter in Java | 63 |
3.3.3 Klassen und Objekte in Java | 64 |
3.3.4 Objekte erzeugen und initialisieren | 66 |
3.3.5 Methoden von Objekten aufrufen | 66 |
3.3.6 Auf Eigenschaften von Objeken zugreifen | 67 |
3.3.7 Abstrakte Klassen und Methoden | 68 |
3.3.8 Interfaces (Schnittstellen) | 70 |
3.3.9 Java Packages (Pakete) | 71 |
3.3.10 Logging | 71 |
3.3.11 Kommentare | 71 |
3.3.13 Ablaufsteuerung mit einfacher Verzweigung | 72 |
3.3.13 Ablaufsteuerung mit Mehrfachverzweigungen | 73 |
3.3.14 Wiederholungen mit Schleifen | 73 |
3.3.15 Fehlerbehandlung | 74 |
4 Grundlagen von Layouts, Views, Komponenten und Intents: Erste Oberflächen erstellen | 76 |
4.1 Zielsetzung | 76 |
4.2 Layouts, Views und Komponenten | 76 |
4.2.1 Layouts | 77 |
4,2,2 Views und Widgets | 78 |
4.2.3 Bausteine einer Android-Anwendung | 78 |
4.3 Layouts und Activities | 84 |
4.3.1 Layouts erstellen | 84 |
4.3.2 Activities | 89 |
4.4 Ereignisse und Intents | 90 |
4.4.1Auf Klick-Ereignisse der Oberfläche reagieren | 91 |
4.4.2 Mit Intents eine andere Activity aus der aktuellen Activity aufrufen | 91 |
4.5 Activities im Manifest registrieren | 93 |
5 Menüs und Ressourcen | 94 |
5.1 Menüs | 94 |
5.1.1 Optionsmenü erstellen | 94 |
5.2 String-Ressourcen | 97 |
5.2.1 Eine String-Ressource anlegen und referenzieren | 97 |
Drawable-Ressourcen | 98 |
5.3.1 Drawable-Ressourcen verwenden | 98 |
5.3.2 ActionBar-Icons erstellen und verwenden | 99 |
5.3.3 xEffekte durch Drawables | 100 |
6 Eigene Klassen, Listen und Adapter | 104 |
6.1 Eigene Klassen erstellen | 104 |
6.2 Enumerationen | 106 |
6.3 Arrays, Listen und Adapter | 107 |
6.3.1 Einfache Strings in Spinner und Liste anzeigen | 108 |
6.3.2 Eigene Objekte in einer ListView anzeigen | 110 |
6.3.3 ListItem und ListAdapter für eigene Objekte | 112 |
6.3.4 ListItem auswählen | 116 |
6.3.5 LogCat verwenden | 117 |
6.4 Mit Dateien arbeiten | 118 |
6.4.1 Datei im Dateisystem speichern | 119 |
6.4.2 Inhalte von Verzeichnissen auflisten und in ListView anzeigen | 126 |
6.4.3 Dateien löschen | 131 |
6.4.4 Dateien lesen | 133 |
6.4 Zwischenstand der App (Version 0.3) | 137 |
7 ActionBar, WebView und E-Mail | 138 |
7.1 ActionBar erweitern und Funktionen nutzen | 138 |
7.1.1 Eigenes Layout-Element in der ActionBar verwenden |
138 |
7.2 E-Mail mit Anhang versenden | 142 |
7.3 Lokale und externe Webseiten anzeigen | 145 |
7.3.1 Erstellen und Anpassen der WebView Activity | 145 |
7.4 Zwischenstand der App (Version 0.4) | 149 |
8 Fragments, Touch Events und Canvas | 150 |
8.1 Fragments | 150 |
8.1.1 Fragments, Drawable-Ressourcen | 151 |
8.2 Image View erweitern, Canvas |
159 |
8.3 Activity for Result und Grafikbearbeitung | 165 |
8.3.1 Mit Activity for Result den Pfad zum Bild ermitteln und sich das Ergebnis in einem Toast anzeigen lassen | 165 |
8.3.2 Ein Bild in ein Bitmap umwandeln | 166 |
8.4 Zwischenstand der App (Version 0.5) | 170 |
9 Audiodaten aufnehmen abspielen und mit Gesten steuern | 172 |
9.1 Touch Events auswerten mit GestureDetector | 172 |
9.2 Audios aufnehmen und abspielen | 175 |
9.2.1 Audio-Notizen erstellen | 175 |
9.2.2 Audio-Notiz abspielen | 176 |
9.3 Threading | 178 |
9.4 Zwischenstand der App (Version 0.6) | 179 |
10 Dialog-Fragments und Datenbank | 180 |
10.1 Dialog-Fragments | 180 |
10.1.1 Klasse für Erinnerungen, Reminder | 186 |
10.2 Datenbank in Android verwenden | 188 |
10.2.1 Datenbank erstellen | 189 |
10.2.2 Datensätze hinzufügen, ändern und löschen | 192 |
10.2.3 Alle Datensätze einer Tabelle auslesen | 195 |
10.2.4 Datenbankzugriff per Kommandozeile oder Eclipse Plug-in | 196 |
10.2 Daten aus der Datenbank anzeigen | 198 |
10.4 Zwischenstand der App (Version 0.7) | 199 |
11 Google Maps Api V2 und LocationService | 200 |
11.1 Vorbereitungen zur Verwendung von Google Maps Api V2 | 200 |
11.1.1 API-Key und Rechte im Manifest anpassen | 204 |
11.2 Ortsbestimmung mit dem LocationService | 207 |
11.3 Eigene Activity for Result für die Map | 209 |
11.4 Zwischenstand der App (Version 0.8) | 217 |
12 Zeit- und ortsbasierte Erinnerungen, lokale Notifications | 218 |
12.1 Zeitbasierte Erinnerungen mit dem AlarmManager | 218 |
12.2 Mit BroadcastReceiver und NotificationManager | 220 |
12.3 Ortsbasierte Erinnerungen mit ProximityAlerts | 221 |
12.4 Zwischenstand der App (Version 0.9) | 223 |
13 Lokalisierung, Icons und Startbilder – Vorbereitung für die Veröffentlichung im Play Store | 224 |
13.1 Die App lokalisieren | 224 |
13.1.1 String-Ressourcen lokalisieren | 225 |
13.2 Icons und Bilder | 225 |
13.3 Der letzte Feinschliff | 226 |
13.3.1 Mit Android Lint den Code verbessern | 229 |
14 Veröffentlichung einer App im Play Store | 232 |
14.1 App mit eigener Signatur exportieren | 232 |
14.1 App in den Play Store hochladen | 235 |
14.3 Store-Eintrag erstellen und Icons und Screenshots verwalten | 237 |
14.4 Preisgestaltung und Vertrieb | 237 |
Index | 240 |