Junior — Middle
Cum se realizează salvarea datelor în interiorul ViewModel în aplicațiile Android?
sobes.tech AI
Răspuns de la AI
În Android, ViewModel stochează datele care trebuie să supraviețuiască modificărilor de configurare (de exemplu, rotirea ecranului). Pentru aceasta, ViewModel păstrează starea în câmpurile sale, iar la recrearea Activity sau Fragment, datele rămân accesibile.
Dacă trebuie să salvați datele în cazul distrugerii complete a aplicației, se folosește SavedStateHandle — un obiect special care permite salvarea și restaurarea stării.
Exemplu de utilizare a ViewModel cu SavedStateHandle:
class MyViewModel(private val state: SavedStateHandle) : ViewModel() {
var userName: String?
get() = state["userName"]
set(value) {
state["userName"] = value
}
}
Astfel, datele din interiorul ViewModel sunt stocate în memorie, iar dacă este necesar, în SavedStateHandle pentru restaurare după distrugerea procesului.