Seminarinhalt
Dieses Training ist praxisnah aufgebaut und gibt Ihnen die Werkzeuge an die Hand, um moderne Android-Apps zu entwickeln, die sowohl klassische als auch moderne Ansätze miteinander verbinden.
Programm
1. Einführung in Kotlin
- Funktionen und Lambdas
- Null-Sicherheit (null safety)
- Collections und ihre Verarbeitung
- Einrichtung von Android Studio und Projektstruktur
- Einführung in Composable-Funktionen und deklarative UI
- Textdarstellung und Stilanpassungen
- Interaktive Elemente: Buttons, Textfelder, Checkboxen, Listen, Slider
- Layouts: Column, Row, Box und LazyColumn
- Themes und Material Design
3. State Management
- State Management mit ViewModel und anderen Architekturoptionen
- Permanentes State-Handling mit SharedPreferences
- Navigation zwischen Composable-Screens mit dem Navigation-Component
- Übergabe von Daten zwischen Screens
- Einfache Animationen: Farbübergänge, Größenveränderungen
- Animierte Sichtbarkeit von UI-Elementen
- Crossfade-Effekte
- Unendliche Animationen, wie Ladeanimationen
6. Intents in Android
- Bedeutung und Arten von Intents (explizit und implizit)
- Navigation zwischen Activities mit expliziten Intents
- Datenübergabe zwischen Activities
- Nutzung von BroadcastReceivers zur Erkennung systemweiter Ereignisse (z. B. Akkustand, Netzverbindung)
- Grundlagen: suspend-Funktionen, CoroutineScope, launch und async
- Verwendung von Coroutines in Composable-Funktionen mit rememberCoroutineScope
- Daten laden und anzeigen (z. B. durch API-Abfragen oder Datenbankzugriffe)
8. Fortgeschrittene Compose-Entwicklung
- Benutzerdefinierte und wiederverwendbare Composables
- Integration der Room-Datenbank zur lokalen Datenspeicherung
- API-Integration mit Retrofit und dynamische Datenanzeige unter Nutzung von Coroutines
- Vermeidung unnötiger Wiederkompositionen für eine effiziente UI
- Einführung in das ViewModel-Architektur-Pattern
- Verbindung mit weiteren Jetpack-Architekturkomponenten
10. Integration von Zusatzgeräten und Features
- Wearables: Grundlegende Ansätze zur Anbindung von Smartwatches
- QR-Code Scanner: Implementierung und Anwendung
- OpenStreetMap (OSM) Integration
- Geodaten auslesen und verwenden
- Überblick über XML-Layouts: ConstraintLayout, LinearLayout, RelativeLayout
- Unterschiede zwischen XML- und Compose-Layouts
- Navigation und Interaktion über Activities und Intents
- Vergleich: RecyclerView mit ViewHolder vs. LazyColumn in Compose