Что такое SharedPreferences

«Что такое SharedPreferences» — вопрос из категории Android компоненты, который задают на 26% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

SharedPreferences — это легковесное хранилище ключ-значение для сохранения простых данных (примитивы, строки) в виде XML-файла. Подходит для небольших настроек (например, флаги, токены, пользовательские предпочтения).

Пример:

// Запись
val prefs = getSharedPreferences("MyPrefs", MODE_PRIVATE)
prefs.edit().putString("token", "abc123").apply()

// Чтение
val token = prefs.getString("token", null)

Особенности:

  • Работает в UI-потоке (используйте apply() для асинхронности).
  • Нет типизации и проверки на ошибки.
  • Не подходит для сложных данных (используйте Room или DataStore).
  • Данные удаляются при удалении приложения.