Sozlamani o'zgartirish paytida tizimning joriy holatini qanday saqlash mumkin?
sobes.tech AI
AIdan javob
Androidda, konfiguratsiya o'zgarganda (masalan, ekran burilishida) tizimning joriy holatini saqlash uchun Activity yoki Fragment holatini saqlash mexanizmi ishlatiladi.
Asosiy usullar:
-
onSaveInstanceState(Bundle outState) — kerakli ma'lumotlarni Bundle ob'ektiga saqlash mumkin bo'lgan metod. Bu ma'lumotlar Activity qayta yaratilganda onCreate yoki onRestoreInstanceState metodlarida mavjud bo'ladi.
-
ViewModel — Android arxitektura komponentlaridan bo'lib, konfiguratsiya o'zgarishlarida ma'lumotlarni saqlaydi va Activity bilan birga qayta yaratilmaydi.
-
UI komponentlarining holatini saqlash — ko'plab standart vidjetlar o'z holatini avtomatik ravishda saqlaydi, agar ularga noyob identifikator o'rnatilgan bo'lsa.
Misol: hisoblagich holatini saqlash:
class MainActivity : AppCompatActivity() {
private var counter = 0
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
counter = savedInstanceState?.getInt("counter_key") ?: 0
// UI ni joriy counter qiymati bilan yangilash
}
override fun onSaveInstanceState(outState: Bundle) {
super.onSaveInstanceState(outState)
outState.putInt("counter_key", counter)
}
}
Shunday qilib, konfiguratsiya o'zgarishlarida ma'lumotlar yo'qolmaydi va foydalanuvchi bir xil interfeys va holatni ko'radi.