Junior — Middle
Come viene effettuato il salvataggio dei dati all'interno del ViewModel nelle applicazioni Android?
sobes.tech AI
Risposta dell'AI
In Android, il ViewModel memorizza i dati che devono sopravvivere ai cambiamenti di configurazione (ad esempio, la rotazione dello schermo). Per fare ciò, il ViewModel mantiene lo stato nei suoi campi, e al ricreare Activity o Fragment, i dati rimangono accessibili.
Se è necessario salvare i dati in caso di distruzione completa dell'applicazione, si utilizza SavedStateHandle, un oggetto speciale che permette di salvare e ripristinare lo stato.
Esempio di utilizzo di ViewModel con SavedStateHandle:
class MyViewModel(private val state: SavedStateHandle) : ViewModel() {
var userName: String?
get() = state["userName"]
set(value) {
state["userName"] = value
}
}
In questo modo, i dati all'interno del ViewModel vengono memorizzati in memoria, e se necessario, nel SavedStateHandle per il ripristino dopo la distruzione del processo.