O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Android-Apps programmieren - Praxiseinstieg mit Android Studio

Book Description

  • Grundlagen der App-Programmierung für Android mit Java und XML
  • Mit einem durchgehenden Beispiel Schritt für Schritt Apps programmieren lernen
  • Für alle aktuellen Android-Versionen

Eugen Richter vermittelt Ihnen in diesem Buch anschaulich die Grundlagen der Android-Programmierung mit Java und XML. Java-Vorkenntnisse sind dabei nicht zwingend erforderlich – um optimal mit dem Buch arbeiten zu können, reicht ein grundlegendes Verständnis für objektorientierte Programmierung aus.

Sie lernen die Grundbausteine einer Android-App kennen und wie Sie Android Studio als Entwicklungsumgebung optimal nutzen. In weiteren praxisnahen Kapiteln erhalten Sie dann ein tieferes Verständnis für das Programmieren von Android-Apps in Form eines Workshops: Am Beispiel einer einfachen App lernen Sie die wichtigsten Komponenten kennen, die in den meisten modernen Apps zum Einsatz kommen – von einer einfachen Activity über Listen und Datenbanken bis hin zum Internet-Zugriff und automatisierten Tests.

So werden alle Techniken und Technologien am praktischen Einsatz erklärt. Sie können direkt loslegen und alle Arbeitsschritte von der Projektanlage bis zum Testen des fertigen Codes an der im Buch programmierten App nachvollziehen. Alle Beispieldateien sowie weitere Informationen zu den im Buch angesprochenen Themen finden Sie online auf einer eigens eingerichteten Bitbucket-Projektseite.

Aus dem Inhalt:

  • Grundlagen
  • Android Studio
  • Gradle als Build-System
  • Projektanlage
  • Layout und Navigation erstellen
  • Einbinden einer SQLite-Datenbank
  • Implementieren eines Content Providers
  • Export von Daten
  • Dialoge
  • Verarbeitung im Hintergrund
  • Berechtigungen
  • Trennung von Layout, Layout-Logik und Businesslogik
  • Internet-Zugriff
  • Unit-Testing
  • Veröffentlichen der fertigen App
  • Glossar

Table of Contents

  1. Impressum
  2. Vorwort
  3. Kapitel 1: Grundlagen
    1. 1.1 Entwicklungsumgebung
      1. 1.1.1 Installation
      2. 1.1.2 Struktur der Entwicklungsumgebung
      3. 1.1.3 ​Gradle
    2. 1.2 Android Grundbausteine
      1. 1.2.1 ​Projektstruktur
      2. 1.2.2 ​App-Bausteine
      3. 1.2.3 Layout
    3. 1.3 Zusammenfassung
  4. Kapitel 2: Zeiterfassungs-App – Teil 1
    1. 2.1 ​Projektanlage
      1. 2.1.1 Start der ​Projektanlage
    2. 2.2 Ausführen der App im Emulator
      1. 2.2.1 Neues AVD anlegen
      2. 2.2.2 ​Starten der App
    3. 2.3 ​​Layout-Erstellung
      1. 2.3.1 ​Layout erstellen
      2. 2.3.2 ​Ressourcen für die Texte
      3. 2.3.3 Ressourcen und​ Spezialisierungen
    4. 2.4 ​App-Logik in der Programmierung
      1. 2.4.1 ​Template-Pattern
      2. 2.4.2 Logik der App
    5. 2.5 ​Fehlersuche/​Debuggen
    6. 2.6 Zusammenfassung Activity-Lebenszyklus
  5. Kapitel 3: Zeiterfassungs-App – Teil 2
    1. 3.1 Überblick über die​ Datenbanken unter Android
      1. 3.1.1 Alternativen zu​ SQLite
      2. 3.1.2 ​SQLite
    2. 3.2 Direkter Zugriff auf SQLite
      1. 3.2.1 Entwurf der​ Datenbank-Struktur
      2. 3.2.2 Anlegen der Datenbank in der App
      3. 3.2.3 Schreiben der​ Daten in die Datenbank
    3. 3.3 Einsatz des​ Content Providers als API
      1. 3.3.1 Erstellen der​​ Contract-Klasse
      2. 3.3.2 Erste Implementierung des Content Providers
      3. 3.3.3 ​Content Provider verwenden
      4. 3.3.4 Logik für den Beenden-Button
      5. 3.3.5 Laden und​ Validieren der Daten
    4. 3.4 ​Menüs und Navigation
      1. 3.4.1 Menü-Ressourcen
      2. 3.4.2 ​Navigation unter Android
    5. 3.5 Activity für die Auflistung
      1. 3.5.1 ​Adapter
      2. 3.5.2 ​Loader
      3. 3.5.3 Erstellen des​ Layouts
      4. 3.5.4 Erstellen der​ Logik-Klasse
      5. 3.5.5 Optimierung der Auflistung
    6. 3.6 Zusammenfassung
  6. Kapitel 4: Zeiterfassungs-App – Teil 3
    1. 4.1 ​​Dialoge
      1. 4.1.1 Löschen eines Eintrags aus der Liste
    2. 4.2 ​Hintergrundoperationen
      1. 4.2.1 Export mit​ AsyncTask
      2. 4.2.2 ​Berechtigungen
      3. 4.2.3 ​​Fortschrittsdialog für den Export
    3. 4.3 Bearbeitung der​ Daten
      1. 4.3.1 Activity mit Parametern
      2. 4.3.2 ​Migration der ​Datenbank
      3. 4.3.3 Bearbeitung der Daten in Dialogen
    4. 4.4 Zusammenfassung
  7. Kapitel 5: Zeiterfassungs-App – Teil 4
    1. 5.1 ​Storage Access Framework
      1. 5.1.1 Anlegen einer neuen Datei mit »SAF«
      2. 5.1.2 ​Exporter erweitern
    2. 5.2 ​​Internet-Zugriff
      1. 5.2.1 Anzeige einer Internetseite
      2. 5.2.2 Zugriff auf REST-Services
      3. 5.2.3 Download der Daten aus dem Internet im Hintergrund
      4. 5.2.4 JSON-Daten mit Bordmitteln auslesen
      5. 5.2.5 JSON-Daten mit​ gSON auslesen
      6. 5.2.6 Generieren einer​ HTML-Seite
      7. 5.2.7 Darstellen in einer Liste
      8. 5.2.8 ​OkHttp als Http-Client
    3. 5.3 Android​-Binding
      1. 5.3.1 Projekt für Binding bereit machen
      2. 5.3.2 Arbeiten mit Bindings
    4. 5.4 Automatisierte​ Tests
      1. 5.4.1 MonkeyRunner
      2. 5.4.2 ​Unit-Tests
      3. 5.4.3 ​​Android-Tests
      4. 5.4.4 ​​Oberflächen-Tests
    5. 5.5 ​Veröffentlichen der fertigen App
    6. 5.6 Zusammenfassung
  8. Kapitel 6: Schlusswort
    1. 6.1 Beste Anlaufstellen für die erste Suche
    2. 6.2 Themen, die in diesem Buch (noch) nicht behandelt wurden
      1. 6.2.1 Kotlin
      2. 6.2.2 Constraint Layout
      3. 6.2.3 Bluetooth
      4. 6.2.4 ​Android Architecture Patterns
      5. 6.2.5 ​Android Wear / ​Android TV / ​Android Auto / ​Android IoT
      6. 6.2.6 ​Monetarisierung
    3. 6.3 Verbesserungsvorschläge/Fehler
  9. Anhang
    1. A.1 Glossar
    2. A.2 Installation von ​HAXM
      1. A.2.1 Voraussetzungen
      2. A.2.2 Installation
    3. A.3 Smartphone oder Tablet als ​Entwickler-Gerät einrichten
    4. A.4 Vorhandenen ​Quellcode in Android Studio öffnen
    5. A.5 ​Tastatur-Kürzel
      1. A.5.1 Suche Aktion
    6. A.6 ​SQLite Deep Dive
      1. A.6.1 ​Kapselnde Methoden
      2. A.6.2 ​Rohes SQL
      3. A.6.3 ​Vorkompilierte Ausdrücke
      4. A.6.4 Performance-Unterschiede
      5. A.6.5 Beispiele