Sobes.tech
Junior — Middle

Kā notiek datu saglabāšana iekšā ViewModel Android lietojumprogrammās?

sobes.tech AI

Atbilde no AI

Android platformā ViewModel saglabā datus, kas jāizdzīvo konfigurācijas izmaiņām (piemēram, ekrāna apgriešanai). Tam ViewModel glabā stāvokli savās laukos, un, atkārtoti izveidojot Activity vai Fragment, dati paliek pieejami.

Ja nepieciešams saglabāt datus pilnīgas lietotnes iznīcināšanas gadījumā, tiek izmantots SavedStateHandle — īpašs objekts, kas ļauj saglabāt un atjaunot stāvokli.

Piemērs, kā izmantot ViewModel ar SavedStateHandle:

class MyViewModel(private val state: SavedStateHandle) : ViewModel() {
    var userName: String?
        get() = state["userName"]
        set(value) {
            state["userName"] = value
        }
}

Tādējādi, dati iekšā ViewModel tiek glabāti atmiņā, un, ja nepieciešams, — SavedStateHandle, lai tos atjaunotu pēc procesa iznīcināšanas.