Willkommen beim Android Kotlin Fundamentals-Kurs, der vom Google Developers-Schulungsteam erstellt wurde. In diesem Codelab lernen Sie, wie Sie Android-Apps mit Kotlin entwickeln. In diesem Kurs lernst du die wichtigsten Android-Kotlin-Programmierung und verschiedene Apps kennen.
Wir empfehlen, die Codelabs nacheinander durchzuführen, aber das ist keine Voraussetzung.
Weitere Informationen zu anderen Google-Schulungen, die vom Google Developers-Schulungsteam erstellt wurden, finden Sie hier.
Voraussetzungen
Für den Kurs "Android Kotlin Fundamentals" empfehlen wir mindestens 2 Jahre Erfahrung in einer umfassenden, objektorientierten Programmiersprache wie Java, C++ oder Smalltalk.
Sie sollten mit allen Konzepten, Tools und Begriffen vertraut sein, die im kostenlosen Kurs Kotlin Bootcamp für Programmierer von Udacity vermittelt werden.
Außerdem sollten Sie mit GitHub vertraut sein und die folgenden Konzepte kennen:
- Grundlegendes Multithreading und Ausnahmebehandlung.
- Wie Code erstellt, kompiliert und ausgeführt wird, im Allgemeinen.
Es hilft auch, eine Vorstellung davon zu bekommen, was funktionale Programmierung ist, aber das ist nicht nötig.
Starter- und Lösungscode
Während Sie die Codelabs im Kurs „Android Kotlin Fundamentals“ bearbeiten, erstellen Sie Apps. Der Quellcode für die Start-Apps und den Lösungscode für die Apps, die Sie erstellen, befindet sich auf GitHub.
Android Kotlin Fundamentals umfasst die folgenden Lektionen:
- Lektion 1: Erste App erstellen
- Lektion 2: Layouts
- Lektion 3: Navigation
- Lektion 4: Aktivitäts- und Fragmentlebenszyklen
- Lektion 5: Architekturkomponenten
- Lektion 6: Datenbank und Koroutinen
- Lektion 7: RecyclerView
- Lektion 8: Internetverbindung herstellen
- Lektion 9: Repository
- Lektion 10: Designs für alle
Jede Lektion enthält mehrere Codelabs.
Lektion 1: App erstellen
In dieser Lektion wird erklärt, wie Sie Android Studio für die Verwendung von Kotlin einrichten und wie Sie Apps erstellen. Sie beginnen mit „Hello World“ und gelangen nach oben zu einer App, die Bilddateien und einen Klick-Handler verwendet. Du erfährst, wie Android-Projekte strukturiert sind, wie du die Aufrufe in deiner Android-Kotlin-App verwendest und änderst und wie du dafür sorgst, dass deine Apps abwärtskompatibel sind. Außerdem erfahren Sie mehr über API-Levels und die Android Jetpack-Bibliotheken.
Lektion 1 enthält die folgenden Codelabs:
- 1.0 Android Studio installieren
- 1.1 Erste Schritte
- 1.2 Anatomie der Apps
- 1.3 Bildressourcen und Kompatibilität
- 1.4 Weitere Informationen
Lektion 2: Layouts
In dieser Lektion erfahren Sie, wie Sie mit dem Android Studio-Layouteditor lineare Layouts und Beschränkungslayouts erstellen. Sie erstellen Apps, die Nutzereingaben abrufen und anzeigen, auf Tippen von Nutzern reagieren und die Sichtbarkeit und Farbe von Ansichten ändern. In dieser Lektion wird auch erläutert, wie Sie mithilfe der Datenbindung ineffiziente Aufrufe von findViewById()
vermeiden.
Lektion 2 umfasst die folgenden Codelabs:
- 2.1 Lineares Layout mit dem Layouteditor
- 2.2 Nutzerinteraktion hinzufügen
- 2.3 Beschränkungslayout mit dem Layouteditor
- 2.4 Datenbindung – Grundlagen
Lektion 3: Navigation
In dieser Lektion lernen Sie, wie man eine Navigation in einer App erstellt. Sie erstellen ein Fragment und fügen es einer App hinzu. Anschließend fügen Sie der App mithilfe des Android Studio-Navigationsdiagramms die Navigation hinzu. Sie fügen Ihrer Navigationsleiste eine Navigationsleiste und ein Optionsmenü hinzu. Anschließend arbeiten Sie mit dem Back-Stack der App und ändern dabei das Ziel der Systemschaltfläche „Zurück“. Zum Schluss erfahren Sie, wie Sie eine externe Aktivität in der App aufrufen.
Lektion 3 enthält die folgenden Codelabs:
Lektion 4: Aktivitäts- und Fragmentlebenszyklen
In dieser Lektion lernen Sie die Aktivitäts- und Fragmentlebenszyklen kennen und erfahren, wie Sie komplexe Lebenszyklussituationen verwalten. Sie arbeiten mit einer Start-App, die mehrere Fehler im Zusammenhang mit dem Android-Lebenszyklus enthält. Du fügst die App ins Protokoll ein, um die Lebenszyklusereignisse der App besser zu verstehen, Fehler in der App zu beheben und Verbesserungen an der App vorzunehmen. Außerdem erfahrst du mehr über die Lebenszyklusbibliothek von Android Jetpack, die dir helfen kann, Lebenszyklusereignisse mit besser organisiertem Code zu verwalten und zu verwalten.
Lektion 4 umfasst die folgenden Codelabs:
Lektion 5: Architekturkomponenten
In dieser Lektion zeigen wir Ihnen, wie die Objekte ViewModel
und LiveData
verwendet werden. Sie erfahren, wie Sie mit ViewModel
-Objekten die Übernahme von Konfigurationsänderungen wie Bildschirmdrehen ermöglichen. Sie wandeln die UI-Daten einer App in die gekapselten LiveData
um und fügen Beobachtermethoden hinzu, die benachrichtigt werden, wenn sich der Wert von LiveData
ändert.
Außerdem binden Sie LiveData
und ViewModel
in die Datenbindung ein, sodass die Ansichten in Ihrem Layout direkt mit ViewModel
-Objekten kommunizieren, ohne die Fragmente der App zum Streamen von Informationen zu verwenden. Dieses Verfahren vereinfacht den Code und macht Klick-Handler in den UI-Controllern überflüssig.
Lektion 5 umfasst die folgenden Codelabs:
- 5.1 ViewModel und ViewModelProvider
- 5.2: LiveData und LiveData-Beobachtunger
- 5.3: DataBindung mit ViewModel und LiveData
- 5.4: LiveData-Transformationen
Lektion 6: Raumdatenbank und Koroutinen
In dieser Lektion lernen Sie, wie die Datenbankbibliothek von Room
verwendet wird. Room
übernimmt viele der Aufgaben beim Einrichten und Konfigurieren einer Datenbank und vereinfacht den Code für die Interaktion mit der Datenbank. Sie erfahren, wie Sie mit Kotlin-Koroutinen Datenbankvorgänge aus dem Hauptthread verschieben können, und erfahren mehr über die Verwendung von ViewModel
und LiveData
mit der App-Navigation.
Lektion 6 enthält die folgenden Codelabs:
- 6.1 Datenbank erstellen
- 6.2 Koroutinen und Chatrooms
- 6.3 Qualität der Wiedergabe und Schaltflächenstatus aufzeichnen
Lektion 7: RecyclerView
In dieser Lektion lernen Sie, wie Sie mit RecyclerView
Listen und Raster von Elementen effizient ansehen können. Für komplexe Listen und Raster lernen Sie, wie Sie RecyclerView
effizienter machen und Ihren Code einfacher verwalten und erweitern können. Du erfährst, wie Elemente in einem RecyclerView
anklickbar werden. Außerdem erfahren Sie, wie Sie Listen und Rastern in einem RecyclerView
mehr als einen Halter und ein Layout hinzufügen, z. B. einen Header in Ihrer App.
Lektion 7 enthält die folgenden Codelabs:
- 7.1 RecyclerView-Grundlagen
- 7.2 DiffUtil und Datenbindung mit RecyclerView
- 7.3 RasterLayout mit RecyclerView
- 7.4 Mit RecyclerView-Elementen interagieren
- 7.5 Header in RecyclerView
Lektion 8: Internetverbindung herstellen
In dieser Lektion lernen Sie, wie Sie mithilfe von Community-Bibliotheken eine Verbindung zu einem Webdienst herstellen, um Daten abzurufen und anzuzeigen. Sie lernen, wie Sie mit möglichen Netzwerkfehlern umgehen und die Glide-Bibliothek verwenden, um Fotos aus dem Internet zu laden und anzuzeigen. Sie erstellen auch ein RecyclerView
-Objekt und verwenden es, um ein Raster mit Bildern anzuzeigen.
Lektion 8 enthält die folgenden Codelabs:
- 8.1 Daten aus dem Internet abrufen
- 8.2 Bilder aus dem Internet laden und anzeigen
- 8.3 Filter- und Detailansichten mit Internetdaten
Lektion 9: Repository
In dieser Lektion wird erläutert, wie Sie ein Repository zur Abstraktung der Datenschicht und zur Bereitstellung einer sauberen API für den Rest Ihrer Android Kotlin-App hinzufügen. Außerdem erfahren Sie, wie Sie WorkManager
verwenden können, um Hintergrundaufgaben effizient und optimiert zu planen.
Lektion 9 enthält die folgenden Codelabs:
Lektion 10: Design für alle
In dieser Lektion werden die Grundlagen des ansprechenden und leicht zugänglichen Android-App-Designs vermittelt. Außerdem erfahren Sie, wie Sie eine App entwickeln, die Informationen zu Treffen der Google Developer Group (GDG) findet und anzeigt.
Lektion 10 umfasst die folgenden Codelabs:
Beginnen Sie mit der nächsten Lektion:
Starten Sie den Android Kotlin Fundamentals-Kurs, indem Sie das erste Codelab starten: 1.0 Android Studio installieren.