Back to questions
Junior — Middle
70
Каким образом можно обеспечить сохранение данных экрана при изменении конфигурации устройства, используя ViewModel?
Companies where asked
EDJE
Answer from AI
sobes.tech AI
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 живёт дольше и хранит состояние.