Sobes.tech
Junior — Middle

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
    }
}