Ответ
В Android есть несколько способов хранения локального контекста:
- SharedPreferences – для простых данных (ключ-значение). Пример:
val prefs = getSharedPreferences("MyPrefs", Context.MODE_PRIVATE)
prefs.edit().putString("key", "value").apply()
-
Room – SQLite-обёртка для структурированных данных. Требует объявления Entity, DAO и Database.
-
DataStore – современная замена SharedPreferences (поддержка Kotlin coroutines/Flow). Пример:
val dataStore = context.createDataStore(name = "settings")
dataStore.edit { settings -> settings[PreferencesKeys.TOKEN] = "abc123" }
- Файлы – прямое чтение/запись во внутреннее или внешнее хранилище:
context.openFileOutput("data.txt", MODE_PRIVATE).use { it.write("text".toByteArray()) }
- MMKV – высокопроизводительная key-value библиотека от Tencent.
Для небольших данных лучше DataStore/SharedPreferences, для сложных – Room. Всегда учитывайте безопасность (не храните критичные данные в plain text).