Sobes.tech
Junior — Middle

Kā saglabāt datus ViewModel iekšienē turpmākai lietošanai?

sobes.tech AI

Atbilde no AI

Lai glabātu datus iekšā ViewModel un tos atkārtoti izmantotu, parasti tiek izmantoti ViewModel klases lauki, kas saglabā stāvokli visu saistītā UI komponenta dzīves cikla laikā.

Ja nepieciešams saglabāt datus procesa iznīcināšanas laikā (piemēram, ekrāna apgriešanas vai lietotnes aizvēršanas gadījumā), var izmantot SavedStateHandle — īpašu objektu, kas ļauj saglabāt un atjaunot stāvokli.

SavedStateHandle lietošanas piemērs:

class MyViewModel(private val state: SavedStateHandle) : ViewModel() {
    var userName: String?
        get() = state.get<String>("userName")
        set(value) = state.set("userName", value)
}

Tādējādi dati tiek automātiski saglabāti un atjaunoti, uzlabojot lietotāja pieredzi un novēršot informācijas zudumu.