Junior — Middle
¿Qué componentes de Jetpack ViewModel utilizas para gestionar los datos y el estado de la interfaz de usuario?
sobes.tech AI
Respuesta de la IA
Para gestionar los datos y el estado de la interfaz de usuario en Jetpack ViewModel, generalmente se utilizan los siguientes componentes:
-
LiveData — datos observables que actualizan automáticamente la interfaz cuando cambian. Permite implementar un enfoque reactivo.
-
MutableLiveData — versión modificable de LiveData, utilizada dentro del ViewModel para actualizar datos.
-
StateFlow / SharedFlow (de Kotlin Coroutines) — alternativas modernas a LiveData para gestionar el estado y eventos con soporte para corutinas.
-
SavedStateHandle — permite guardar y restaurar el estado del ViewModel al recrear la interfaz, por ejemplo, al rotar la pantalla.
Ejemplo de uso de LiveData en ViewModel:
class MyViewModel : ViewModel() {
private val _text = MutableLiveData<String>()
val text: LiveData<String> = _text
fun updateText(newText: String) {
_text.value = newText
}
}