Welche Komponenten des Jetpack ViewModel verwendest du zur Verwaltung von Daten und UI-Zustand?
sobes.tech KI
Antwort von AI
Zur Verwaltung von Daten und Zustand der Benutzeroberfläche in Jetpack ViewModel werden in der Regel die folgenden Komponenten verwendet:
-
LiveData — beobachtbare Daten, die die UI bei Änderungen automatisch aktualisieren. Ermöglicht einen reaktiven Ansatz.
-
MutableLiveData — eine veränderbare Version von LiveData, die innerhalb des ViewModel zur Aktualisierung der Daten verwendet wird.
-
StateFlow / SharedFlow (aus Kotlin Coroutines) — moderne Alternativen zu LiveData zur Verwaltung von Zustand und Ereignissen mit Unterstützung für Koroutinen.
-
SavedStateHandle — ermöglicht das Speichern und Wiederherstellen des Zustands des ViewModel bei der Neuerstellung der UI, z.B. bei Bildschirmrotation.
Beispiel für die Verwendung von LiveData im ViewModel:
class MyViewModel : ViewModel() {
private val _text = MutableLiveData<String>()
val text: LiveData<String> = _text
fun updateText(newText: String) {
_text.value = newText
}
}