Ausblick und Lernressourcen
Dauer: 15 Minuten
Vorschläge für Übungen zur Vertiefung
-
Todos bearbeiten und löschen können (Todo im UI mit einem Stift-Icon versehen, um es zu im Todo-Dialog zu bearbeiten; mit einem Mülleimer-Icon löschen)
-
Todo-Entität erweitern (z.B. mit Fälligkeitsdatum, Priorität, usw.) und dazu das UI und die DB anpassen
-
Kategorien für Todos einführen (z.B. Arbeit, Privat, Einkaufen, usw.) und diese in der DB in einer neuen Tabelle speichern (Todos brauchen dann eine Fremdschlüssel-Spalte für die Kategorie-ID)
-
Einen weiteren Screen implementieren (z.B. Einstellungen oder Statistiken der Todos)
Architektur von Android-Apps
Bei komplexeren Apps ist es sinnvoll, über eine Architektur nachzudenken,
die die App in verschiedene Schichten aufteilt. So können z.B. die
Datenbankzugriffe in ein ViewModel
auszulagern. Dieses ViewModel kann
dann von der Activity oder dem Composable genutzt werden, um auf die Daten
zuzugreifen.
Mehr zu ViewModel und LiveData: https://developer.android.com/topic/libraries/architecture/viewmodel
Weitere Infos zu Architektur mit Jetpack Compose:
- https://developer.android.com/develop/ui/compose/architecture
- https://developer.android.com/develop/ui/compose/layering
Die offizielle Beispiel-App Now in Android von Google kann als Referenz für App-Architektur dienen: https://github.com/android/nowinandroid/
Zum Aufbau der Now in Android-App gibt es im GitHub-Repository weitere Infos:
- https://github.com/android/nowinandroid/blob/main/docs/ArchitectureLearningJourney.md https://github.com/android/nowinandroid/blob/main/docs/ModularizationLearningJourney.md
Testing in Android Studio
Neu in 2025 sind diese Möglichkeiten für UI-Tests in Android Studio (teilweise noch nicht stabil entwickelt):
- https://developer.android.com/studio/gemini/journeys
- https://developer.android.com/studio/preview/compose-screenshot-testing
Lernressourcen von Google
Jedes Jahr vor Beginn der Vorlesung sollten die folgenden Links überprüft und ggf. angepasst bzw. erweitert werden.
Im Web sind einige veraltete Informationen zur Android- Programmierung zu finden. Daher sollte bei eigenen Recherchen z.B. auf das Erstellungsdatum der gefundenen Artikel geachtet werden (⟶ z.B. nicht älter als 2 Jahre).
Vorbemerkung
Google stellt sehr viel Lernmaterial zur Android-Entwicklung bereit. Dies hat in der Regel eine hohe Qualität, ist aber sehr unübersichtlich und inkonsistent, weil sich die Android-Entwicklung in den letzten Jahr stark verändert hat (Kotlin vs. Java, UI mit Compose, usw.) und auch in Zukunft wandeln wird (u.a. mit mehr KI-Tools)…
Der Dozent kann leider nur einen Überblick geben und teilweise Ansätze zeigen — mehr ist in den jährlichen Vorbereitungen zur Vorlesung nicht zu bewerkstelligen.
Inkonsistenzen im Lernmaterial von Google (geprüft im September 2025)
MainActivity
in neu erstelltem Android-Projekt mit „Empty Activity“-Template:
enableEdgeToEdge()
setContent {
MyApplicationTheme {
Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
Greeting(
name = "Android",
modifier = Modifier.padding(innerPadding)
)
}
}
}
Im ersten Tutorial (bzw. Codelab) der offiziellen Dokumentation
Create your first Android app
(Schritt 4 Update the text) fehlt enableEdgeToEdge()
und anstatt Scaffold
wird Surface
verwendet.
In der offiziellen Entwickler-Dokumentation zu Android unter developer.android.com sind im Prinzip alle nützliche Informationen zur nativen Entwicklung von Android-Apps zu finden — allerdings ist diese Webseite auch ziemlich unübersichtlich (und z.T. inkonsistent wie oben zu sehen). Es folgen ein paar Hinweise, die die Verwendung der Dokumentation erleichtern sollen.
Kurse und Tutorials (Codelabs)
Google stellt ganze Online-Kurse und Lernpfade für die Android-Programmierung bereit:
- Einsteigerkurs zu Android: https://developer.android.com/courses/android-basics-compose/course
- Einsteigerkurs zu Compose: https://developer.android.com/courses/jetpack-compose/course
Die beiden obigen Kurse überschneiden sich etwas inhaltlich, aber sie sind beide empfehlenswert, da sie sich auch gut ergänzen.
- Weitere Kurse: https://developer.android.com/courses
Codelabs sind kurze Tutorials zu bestimmten Themen: https://developer.android.com/get-started/codelabs
Kurse benötigen natürlich mehr Zeit als die kompakten Codelabs. Beide bieten sowohl einführendes als auch weiterführendes Lernmaterial.
Core Areas und Developer Centers
Zu bestimmten Themenbereichen oder Schwerpunkten gibt es „Core Areas“ und „Developer Centers“.
- Core Areas: https://developer.android.com/develop#core-areas
- Beispiel eines Developer Centers: https://developer.android.com/media
Weitere Developer Centers und Themensammlungen finden sich im Navigationsmenü der Developer Docs.
UI Quick Guides
„UI Quick Guides“ in der Android-Dokumentation geben in Form von Videos oder „HowTos“ eine schnelle Einführung in UI-Themen:
https://developer.android.com/quick-guides
Beispiel-Apps (Samples)
Google stellt einige Beispiel-Apps inklusive Quellcode
bereit. Die zugehörigen Android-Studio-Projekten können
von GitHub heruntergeladen bzw. geklont werden. Außerdem
können Samples direkt in Android Studio mit
File -> New -> Import Sample…
eingebunden werden.
- Best practices in der modernen Android-Entwicklung werden als „real-world sample“ offiziell von Google in der „Now-in-Android“-App umgesetzt. Der Code dazu ist hier zu finden: https://github.com/android/nowinandroid
- Mehrere Beispiel-Apps zu Compose auf GitHub
- Liste mit mehreren Apps in der Android-Dokumentation: https://developer.android.com/samples (mit Such- und Filterfunktion)
- Platform Samples auf GitHub — Sammlung von Beispiel-Apps zu verschiedenen APIs (Camera, Location, UI, usw.)
- Weitere Android-Projekte auf GitHub: https://github.com/android und https://github.com/googlesamples (evtl. nach Kotlin filtern)
Komplette Android-Studio-Projekte Beispiel-Apps zeigen konkret im Code, wie bestimmte Aspekte umgesetzt werden, sodass diese im eigenen Projekt übernommen werden können.
Auch bei den Samples ist natürlich auf Aktualität zu achten.
Referenzen der APIs
Die technische API-Dokumentation liegt unter developer.android.com/reference . Hier können Details zur konkreten Verwendung bestimmter Klassen und Methoden im Code gefunden werden.
Die Referenzen sind hauptsächlich dann nützlich, wenn bei der Programmierung mit bestimmten APIs deren korrekte Verwendung sichergestellt werden soll.
Guides
Im Bereich „Guides“ der Android-Dokumentation unter developer.android.com/guide finden sich verschiedene Themen.
September 2024: Nur Teile der Guides werden noch direkt in den Developer-Docs verlinkt. Es wirkt so, als würden die Guides schrittweise durch die Core Areas ersetzt.
Weiteres Lernmaterial
Im Web gibt es jede Menge Material unterschiedlichster Art. Ein paar weitere Empfehlungen:
- Eine Art Android-Glossar zum Nachschlagen einzelne Begriffe oder Konzepte: https://developers.google.com/android/for-all/vocab-words/
- Offizieller YouTube-Channel: https://www.youtube.com/user/androiddevelopers
- Android Dev Blog: https://android-developers.googleblog.com
- Es gibt viele Online-Kurse, z.B. bei Udacity
- Studierende der DHBW Lörrach haben Zugang zu LinkedIn Learning über Moodle (dort unter „Top-Angebote“ in der oberen Navigationsleiste zu finden) ⟶ auf Aktualität der Kurse achten…
Nochmals sei erwähnt, dass hierbei auf Aktualität zu achten ist.