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