Sobes.tech
Junior — Middle

Como é que se podem guardar dados dentro do ViewModel para uso posterior?

sobes.tech IA

Resposta da IA

Para guardar dados dentro do ViewModel e reutilizá-los, geralmente usam-se campos da classe ViewModel, que mantêm o estado durante o ciclo de vida do componente de UI associado.

Se precisar guardar dados ao destruir o processo (por exemplo, ao rotacionar a tela ou fechar a aplicação), pode usar SavedStateHandle, um objeto especial que permite guardar e restaurar o estado.

Exemplo de uso do SavedStateHandle:

class MyViewModel(private val state: SavedStateHandle) : ViewModel() {
    var userName: String?
        get() = state.get<String>("userName")
        set(value) = state.set("userName", value)
}

Dessa forma, os dados são guardados e restaurados automaticamente, melhorando a experiência do usuário e prevenindo a perda de informações.