Sobes.tech
Назад к вопросам
Junior — Middle
71

Каким образом можно обеспечить сохранение данных экрана при изменении конфигурации устройства, используя ViewModel?

Компании, где спрашивали
EDJE

Ответ от нейросети

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 живёт дольше и хранит состояние.