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