Junior — Middle
Kuidas tagada ekraani andmete säilitamine seadme konfiguratsiooni muutmisel, kasutades ViewModel?
sobes.tech AI
Vastus AI-lt
ViewModel в Android предназначена для хранения и управления данными UI, сохраняя их при изменениях конфигурации (например, поворот экрана).
Чтобы обеспечить сохранение данных:
- Создайте класс ViewModel, где будут храниться данные экрана.
- Используйте ViewModelProvider для получения экземпляра ViewModel в Activity или Fragment.
- При изменении конфигурации система пересоздаёт Activity/Fragment, но ViewModel сохраняется и предоставляет те же данные.
Пример:
class MyViewModel : ViewModel() {
val data = MutableLiveData<String>()
}
// В Activity или Fragment
val viewModel = ViewModelProvider(this).get(MyViewModel::class.java)
// Используем viewModel.data для отображения и обновления UI
Таким образом, данные не теряются при пересоздании UI, так как ViewModel живёт дольше и хранит состояние.