Skip to Content
Mobile Apps3 - Android und KMPAusblick und Lernressourcen

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:

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:

Testing in Android Studio

Neu in 2025 sind diese Möglichkeiten für UI-Tests in Android Studio (teilweise noch nicht stabil entwickelt):

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:

Die beiden obigen Kurse überschneiden sich etwas inhaltlich, aber sie sind beide empfehlenswert, da sie sich auch gut ergänzen.

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“.

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.

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:

‼️

Nochmals sei erwähnt, dass hierbei auf Aktualität zu achten ist.