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.