Ответ
SharedPreferences – для хранения небольших данных (ключ-значение). Пример:
val prefs = getSharedPreferences("my_prefs", Context.MODE_PRIVATE)
prefs.edit().putString("key", "value").apply()
Internal Storage – приватные файлы приложения:
val file = File(context.filesDir, "data.txt")
file.writeText("Hello, World!")
External Storage – общие файлы (требует разрешения):
val file = File(Environment.getExternalStorageDirectory(), "data.txt")
SQLite – реляционная БД:
val db = SQLiteDatabase.openOrCreateDatabase("my_db", null)
db.execSQL("CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name TEXT)")
Room – абстракция над SQLite с аннотациями:
@Database(entities = [User::class], version = 1)
abstract class AppDatabase : RoomDatabase() {
abstract fun userDao(): UserDao
}
DataStore – современная замена SharedPreferences (Kotlin Coroutines/Flow).
Firebase/Cloud Storage – облачные решения для синхронизации данных.
Выбор зависит от объёма данных, структуры и требований к безопасности.