Sobes.tech
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
    }
}