Sobes.tech
Back to questions
Junior — Middle
73

Какие методы ты знаешь для сохранения состояния пользовательского интерфейса в приложениях?

Companies where asked
АВ Софт

Answer from AI

sobes.tech AI

Для сохранения состояния пользовательского интерфейса в Android-приложениях используются следующие методы:

  1. onSaveInstanceState(Bundle outState) и onRestoreInstanceState(Bundle savedInstanceState) — позволяют сохранить и восстановить состояние Activity или Fragment при пересоздании (например, при повороте экрана).

  2. ViewModel — хранит данные, связанные с UI, и переживает изменения конфигурации, не теряя состояние.

  3. SharedPreferences — для сохранения простых данных (настройки, флаги) между сессиями приложения.

  4. Сохранение состояния в базе данных или файлах — для более сложных или больших данных.

  5. SavedStateHandle — в сочетании с ViewModel позволяет сохранять и восстанавливать состояние UI.

Пример сохранения состояния текстового поля в Activity:

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putString("input_text", editText.getText().toString());
}

@Override
protected void onRestoreInstanceState(Bundle savedInstanceState) {
    super.onRestoreInstanceState(savedInstanceState);
    String text = savedInstanceState.getString("input_text");
    editText.setText(text);
}