Sobes.tech
Junior — Middle

Android tətbiqlərində ViewModel daxilində məlumatların necə saxlanılması həyata keçirilir?

sobes.tech Süni İntellekt

AI-dan cavab

Android-də ViewModel, konfiqurasiya dəyişikliklərindən (məsələn, ekranın döndürülməsi) sonra da qalmalı olan məlumatları saxlayır. Bunun üçün ViewModel vəziyyəti öz sahələrində saxlayır və Activity və ya Fragment yenidən yaradıldıqda, məlumatlar əlçatan qalır.

Əgər tətbiqin tamamilə bağlanması zamanı məlumatları saxlamaq lazımdırsa, SavedStateHandle istifadə olunur — vəziyyəti saxlamaq və bərpa etmək imkanı verən xüsusi obyekt.

SavedStateHandle ilə ViewModel istifadəsinin nümunəsi:

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

Beləliklə, ViewModel daxilindəki məlumatlar yaddaşda saxlanılır və lazım gəldikdə, prosesin bağlanmasından sonra bərpa üçün SavedStateHandle istifadə olunur.