Junior — Middle
Kako se vrši čuvanje podataka unutar ViewModel u Android aplikacijama?
sobes.tech АИ
Одговор од АИ
U Androidu, ViewModel čuva podatke koji moraju preživeti promene konfiguracije (npr. rotaciju ekrana). Za to, ViewModel čuva stanje u svojim poljima, i pri ponovnom kreiranju Activity ili Fragment, podaci ostaju dostupni.
Ako je potrebno sačuvati podatke pri potpunom uništenju aplikacije, koristi se SavedStateHandle — poseban objekat koji omogućava čuvanje i obnavljanje stanja.
Primer korišćenja ViewModel sa SavedStateHandle:
class MyViewModel(private val state: SavedStateHandle) : ViewModel() {
var userName: String?
get() = state["userName"]
set(value) {
state["userName"] = value
}
}
Na ovaj način, podaci unutar ViewModel-a se čuvaju u memoriji, a po potrebi — u SavedStateHandle za obnavljanje nakon uništavanja procesa.