Sobes.tech
Junior — Middle

Wie wird die Verwendung von ViewModel in Jetpack zur Steuerung des Zustands der Benutzeroberfläche implementiert?

sobes.tech KI

Antwort von AI

ViewModel in Jetpack wird verwendet, um den Zustand der Benutzeroberfläche zu speichern und zu verwalten, wobei die Daten bei Konfigurationsänderungen (z.B. Bildschirmrotation) erhalten bleiben. Das ViewModel trennt die UI-Logik von der Activity oder Fragment, was das Testen und die Wartung erleichtert.

Beispiel für die Verwendung:

class MyViewModel : ViewModel() {
    private val _text = MutableLiveData<String>()
    val text: LiveData<String> = _text

    fun updateText(newText: String) {
        _text.value = newText
    }
}

// In der Activity oder im Fragment
val viewModel = ViewModelProvider(this).get(MyViewModel::class.java)
viewModel.text.observe(this) { updatedText ->
    textView.text = updatedText
}

Auf diese Weise speichert das ViewModel Daten, die die UI-Neuaufsetzung überleben, und stellt sie über LiveData für eine reaktive Aktualisierung der Oberfläche bereit.