Junior — Middle
Android ilovalarida ViewModel ichida ma'lumotlarni qanday saqlash amalga oshiriladi?
sobes.tech AI
AIdan javob
Androidda ViewModel, konfiguratsiya o'zgarishlaridan (masalan, ekran burilishidan) keyin ham qolishi kerak bo'lgan ma'lumotlarni saqlaydi. Buning uchun ViewModel o'z holatini o'zining maydonlarida saqlaydi, va Activity yoki Fragment qayta yaratilganda, ma'lumotlar mavjud bo'lib qoladi.
Agar to'liq dastur yopilganda ma'lumotlarni saqlash kerak bo'lsa, SavedStateHandle ishlatiladi — bu holatni saqlash va tiklash imkonini beradigan maxsus obyekt.
SavedStateHandle bilan ViewModeldan foydalanish misoli:
class MyViewModel(private val state: SavedStateHandle) : ViewModel() {
var userName: String?
get() = state["userName"]
set(value) {
state["userName"] = value
}
}
Shu tarzda, ViewModel ichidagi ma'lumotlar xotirada saqlanadi, va agar kerak bo'lsa, jarayonni yo'q qilishdan keyin tiklash uchun SavedStateHandle ishlatiladi.