
Android-Apps programmieren
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
- Praktischer Einstieg von den Grundlagen der App-Programmierung bis hin zu fortgeschrittenen Techniken
- Vollständiges Beispielprojekt mit zahlreichen Schritt-für-Schritt-Anleitungen und Praxis-Tipps
- Alle Komponenten professioneller Apps: von einer einfachen Activity über Layouts mit XML und Datenbanken bis hin zu Android-Binding und automatisierten Tests
Mit diesem Buch erhalten Sie einen praktischen Einstieg in die Android-App-Programmierung mit Java. Sie lernen alles, was für die professionelle App-Entwicklung wichtig ist: von den Grundbausteinen einer App über die Layout-Erstellung mit XML bis hin zum Einsatz von Datenbanken.
Der Autor führt Sie anhand eines durchgängigen Praxisbeispiels durch den gesamten Entwicklungsprozess einer App und zeigt Ihnen, wie Sie Android Studio effektiv einsetzen. Dabei lernen Sie Schritt für Schritt, wie Sie Daten verarbeiten und mit Room in einer Datenbank speichern, Apps mit mehreren Bildschirmseiten programmieren, Dialoge anzeigen, Berechtigungen abfragen, mit Hintergrundprozessen arbeiten, Internet-Services einbinden und vieles mehr.
Abschließend erläutert der Autor, wie Sie Ihre App testen und im Google Play Store sowie auf der eigenen Website veröffentlichen. Darüber hinaus zeigt er Ihnen verschiedene Möglichkeiten der Monetarisierung auf.
Grundkenntnisse in objektorientierter Programmierung, idealerweise mit Java, sowie im Umgang mit XML werden vorausgesetzt.
Aus dem Inhalt:
- Grundlagen der App-Programmierung
- Einführung in Android Studio
- Gradle als Build-System
- Projektanlage
- Layouts erstellen mit XML
- Activities und Seitennavigation
- Einbinden einer SQLite-Datenbank mit Room
- Export von Daten
- Dialoge
- Datenverarbeitung im Hintergrund
- Berechtigungen
- Trennung von Layout, Layout-Logik und Programmlogik mit Android-Binding
- Internet-Services einbinden
- Automatisierte Tests und Unit Testing
- App veröffentlichen
- Praktisches Glossar
More details
Other editions
Additional editions

Previous edition

Person
Eugen Richter hat langjährige Schulungserfahrung u.a. als Dozent an der Münchener Volkshochschule und als Ausbilder im Unternehmen. Sein thematischer Schwerpunkt liegt dabei auf der nativen Entwicklung von Apps für Android, der Cross-Plattform-Entwicklung mit Xamarin, der Cloud-Entwicklung mit .Net Core sowie auf dem Einsatz von DevOps.
Content
- Intro
- Titel
- Impressum
- Inhaltsverzeichnis
- Kapitel 1: Einleitung
- 1.1 An wen richtet sich dieses Buch?
- 1.1.1 Voraussetzungen
- 1.2 Technischer Stand
- 1.3 Was finden Sie in diesem Buch?
- 1.4 Was behandelt dieses Buch nicht?
- 1.5 Konventionen
- 1.5.1 XML-Dateien
- 1.5.2 Java-Dateien
- 1.6 Danksagung
- 1.7 Änderungen in der 3. Auflage
- Kapitel 2: Grundlagen
- 2.1 Entwicklungsumgebung
- 2.1.1 Historie
- 2.1.2 Installation
- 2.1.3 Erster Start von Android Studio
- 2.1.4 Struktur der Entwicklungsumgebung
- 2.1.5 Build-System Gradle
- Kapitel 3: Anlegen einer neuen App
- 3.1 Projektanlage
- 3.1.1 Ein neues Projekt starten
- 3.2 Ausführen der App im Emulator
- 3.2.1 Neues AVD anlegen
- 3.2.2 Starten der App
- 3.3 App-Bausteine
- 3.3.1 Manifest
- 3.3.2 Activity
- 3.3.3 Fragment
- 3.3.4 Ressourcen
- 3.3.5 Layout
- 3.4 Layout-Erstellung
- 3.4.1 Layout erstellen
- 3.4.2 Ressourcen für die Texte
- 3.4.3 Ressourcen und Spezialisierungen
- Kapitel 4: Basis App-Logik
- 4.1 Template-Pattern
- 4.2 Logik der Zeiterfassungs-App
- 4.2.1 Suche der Oberflächenelemente
- 4.2.2 Interaktionen des Benutzers verarbeiten
- 4.2.3 Formatierung der Ausgabe
- 4.3 Fehlersuche (Debuggen)
- Kapitel 5: Datenbank - SQLite
- 5.1 Überblick über die Datenbanken unter Android
- 5.1.1 SQLite
- 5.1.2 Alternativen zu SQLite
- 5.2 Datenbank definieren
- 5.2.1 Entwurf der Datenbank-Struktur
- 5.2.2 Hilfsmittel für SQLite
- 5.3 Anlegen der Datenbank mit Room
- 5.3.1 Abhängigkeiten zur Room-Bibliothek hinzufügen
- 5.3.2 Eine Entität hinzufügen
- 5.3.3 Klasse für Datenzugriff anlegen
- 5.4 Auf die Datenbank zugreifen
- 5.4.1 Erstellen der eigenen Application-Klasse
- 5.4.2 Erstellen eines Executors
- 5.4.3 Datenbank als Singleton
- 5.4.4 Optimierung für den Datenbankzugriff
- 5.5 Überprüfung der Daten
- 5.6 Automatische Konvertierung mit Room
- 5.6.1 Datenklasse (Entity) anpassen
- 5.6.2 Logik für den Start-Button
- 5.6.3 Logik für den Beenden-Button
- 5.7 Laden und Validieren der Daten
- 5.7.1 Aufräumen in der Klasse
- 5.7.2 UI-Optimierung
- 5.8 Zusammenfassung
- Kapitel 6: Navigation
- 6.1 Menü-Ressourcen
- 6.1.1 Menütypen
- 6.1.2 Menü anlegen
- 6.1.3 Menü einbinden
- 6.1.4 Auf Menü-Aktionen reagieren
- 6.2 Navigation unter Android
- 6.2.1 Implizite Intents
- 6.2.2 Explizite Intents
- 6.3 Activity für die Auflistung
- 6.3.1 Erstellen der Layouts
- 6.3.2 Erstellen des Adapters
- 6.3.3 Anbinden der Daten an die Liste
- 6.3.4 Optimierung der Auflistung
- Kapitel 7: Dialoge
- 7.1 Dialoge nutzen
- 7.1.1 Löschen eines Eintrags aus der Liste
- 7.2 Daten mit Dialogen bearbeiten
- 7.2.1 Activity mit Parametern
- 7.2.2 Bearbeitung der Daten in Dialogen
- Kapitel 8: Datenbank Erweiterung und Migration
- 8.1 Version der Datenbank als Snapshot speichern
- 8.2 Neue Spalte anlegen und migrieren
- 8.2.1 Erweiterung des Datenobjekts
- 8.2.2 Migration der neuen Datenbankversion
- 8.2.3 Pausenspalte anlegen
- 8.3 Inhalt der neuen Felder in die Datenbank speichern
- Kapitel 9: Hintergrundprozesse und Berechtigungen
- 9.1 Export der Daten als CSV-Datei
- 9.1.1 Berechtigungen
- 9.1.2 Schreiben der Daten als CSV-Datei
- 9.1.3 Fortschrittsanzeige für den Export
- 9.1.4 IntentService
- 9.2 Internet-Zugriff
- 9.2.1 Internetseiten in der App anzeigen
- 9.2.2 Zugriff auf REST-Services
- 9.2.3 Download der Daten aus dem Internet im Hintergrund
- 9.2.4 JSON-Daten mit Bordmitteln auslesen
- 9.2.5 JSON-Daten mit gSON auslesen
- 9.2.6 Generieren einer HTML-Seite
- 9.2.7 Darstellen in einer Liste
- 9.2.8 OkHttp als Http-Client
- Kapitel 10: App-Optimierungen
- 10.1 Storage Access Framework (SAF)
- 10.1.1 Anlegen einer neuen Datei mit SAF
- 10.1.2 Exporter erweitern
- 10.2 Android-Binding
- 10.2.1 Projekt für Binding bereit machen
- 10.2.2 Arbeiten mit Bindings
- 10.3 Veröffentlichen der fertigen App
- 10.3.1 App-Icon erstellen
- 10.3.2 Signierung mit Zertifikat
- 10.3.3 Veröffentlichung
- Kapitel 11: Automatisierte Tests
- 11.1 MonkeyRunner
- 11.2 Unit-Tests
- 11.2.1 Testen des Ladens aus dem gespeicherten Zustand
- 11.2.2 Testen mit Mocks
- 11.3 Android-Tests
- 11.4 Oberflächen-Tests
- 11.4.1 Optimierung des Espresso-Codes
- Kapitel 12: Schlusswort und Ausblick
- 12.1 Beste Anlaufstellen für die erste Suche
- 12.2 Themen, die in diesem Buch (noch) nicht behandelt wurden
- 12.2.1 Kotlin
- 12.2.2 Bluetooth
- 12.2.3 Android Architecture Patterns
- 12.2.4 Android Wear/Android TV/Android Auto/Android IoT
- 12.2.5 Monetarisierung
- 12.3 Verbesserungsvorschläge/Fehler
- Anhang
- A.1 Glossar
- A.2 Installation von HAXM
- A.2.1 Voraussetzungen
- A.2.2 Installation
- A.3 Smartphone oder Tablet als Entwickler-Gerät einrichten
- A.4 Vorhandenen Quellcode in Android Studio öffnen
- A.5 Tastatur-Kürzel
- A.5.1 Suche Aktion
- Stichwortverzeichnis
System requirements
File format: PDF
Copy protection: Watermark-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Use the free software Adobe Reader, Adobe Digital Editions, or any other PDF viewer of your choice (see eBook Help).
- Tablet/Smartphone (Android; iOS): Install the free app Adobe Digital Editions or another reading app for eBooks, e.g., PocketBook (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Watermark-DRM, a „soft” copy protection. This means that there are no technical restrictions to prevent illegal distribution. However, there is a personalised watermark embedded in the eBook that can be used to identify the purchaser of the eBook in the event of misuse and to provide evidence for legal purposes.
For more information, see our eBook Help page.