Connect with us

Разработка

Что такое SharedPreferences

Опубликовано

/

     
     

SharedPreferences в Android — это механизм хранения данных в виде пар ключ-значение, который используется для сохранения небольших объемов информации, таких как настройки приложения, флаги состояния и предпочтения пользователя.

Основные характеристики SharedPreferences

  • Используется для хранения данных в формате key-value.
  • Данные сохраняются в XML-файле в приватной папке приложения.
  • Предназначен для небольших объемов данных (например, строки, числа, булевы значения).
  • Поддерживает работу с String, Int, Boolean, Float, Long.
  • Не подходит для хранения сложных структур (например, объектов или больших списков).

Как использовать SharedPreferences

1. Получение экземпляра SharedPreferences:

val sharedPreferences = getSharedPreferences("my_prefs", Context.MODE_PRIVATE)

2. Запись данных:

val editor = sharedPreferences.edit()
editor.putString("username", "JohnDoe")
editor.putInt("user_id", 123)
editor.apply() // Или editor.commit()
  • apply() — записывает данные асинхронно.
  • commit() — записывает данные синхронно, но может замедлять работу.

3. Чтение данных:

val username = sharedPreferences.getString("username", "defaultName")
val userId = sharedPreferences.getInt("user_id", -1)

4. Удаление данных:

editor.remove("username").apply()

5. Очистка всех данных:

editor.clear().apply()

Когда использовать SharedPreferences

Для хранения:

  • Настроек пользователя (например, темная/светлая тема).
  • Флагов состояния (например, «показано ли приветственное сообщение»).
  • Токенов авторизации (но не рекомендуется из-за слабой безопасности).

Не использовать для:

Альтернатива SharedPreferences

Google рекомендует использовать Jetpack DataStore, который основан на ProtoBuf или Preferences, так как он более современный, асинхронный и не блокирует основной поток.

Если вы нашли опечатку - выделите ее и нажмите Ctrl + Enter! Для связи с нами вы можете использовать info@apptractor.ru.
Telegram

Популярное

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: