Junior — Middle
Comment l'utilisation de ViewModel est-elle implémentée dans Jetpack pour gérer l'état de l'interface utilisateur?
sobes.tech IA
Réponse de l'IA
ViewModel dans Jetpack est utilisé pour stocker et gérer l'état de l'interface utilisateur, en conservant les données lors de changements de configuration (par exemple, la rotation de l'écran). ViewModel sépare la logique de l'UI de l'Activity ou du Fragment, ce qui facilite les tests et la maintenance.
Exemple d'utilisation :
class MyViewModel : ViewModel() {
private val _text = MutableLiveData<String>()
val text: LiveData<String> = _text
fun updateText(newText: String) {
_text.value = newText
}
}
// Dans l'Activity ou le Fragment
val viewModel = ViewModelProvider(this).get(MyViewModel::class.java)
viewModel.text.observe(this) { updatedText ->
textView.text = updatedText
}
Ainsi, ViewModel stocke les données qui survivent à la recréation de l'UI et les fournit via LiveData pour une mise à jour réactive de l'interface.