Sobes.tech
Junior — Middle

¿Cómo se realiza el almacenamiento de datos dentro del ViewModel en las aplicaciones de Android?

sobes.tech AI

Respuesta de la IA

En Android, ViewModel guarda los datos que deben sobrevivir a cambios de configuración (por ejemplo, la rotación de pantalla). Para ello, ViewModel mantiene el estado en sus campos, y al recrear la Activity o Fragment, los datos permanecen accesibles.

Si se necesita guardar datos en caso de destrucción completa de la aplicación, se utiliza SavedStateHandle, un objeto especial que permite guardar y restaurar el estado.

Ejemplo de uso de ViewModel con SavedStateHandle:

class MyViewModel(private val state: SavedStateHandle) : ViewModel() {
    var userName: String?
        get() = state["userName"]
        set(value) {
            state["userName"] = value
        }
}

De esta manera, los datos dentro de ViewModel se almacenan en memoria, y si es necesario, en SavedStateHandle para restaurarlos después de la destrucción del proceso.