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.