Какие знаешь базы данных для Android

«Какие знаешь базы данных для Android» — вопрос из категории Базы данных, который задают на 24% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

В Android используются несколько типов баз данных:

  1. SQLite - встроенная реляционная БД. Поддерживается напрямую через Android SDK. Пример:
val db = openOrCreateDatabase("myDb", MODE_PRIVATE, null)
db.execSQL("CREATE TABLE IF NOT EXISTS users(id INTEGER PRIMARY KEY, name TEXT)")
  1. Room - абстракция над SQLite от Google (часть Jetpack). Предоставляет удобный ORM-слой:
@Database(entities = [User::class], version = 1)
abstract class AppDatabase : RoomDatabase() {
    abstract fun userDao(): UserDao
}
  1. Realm - объектно-ориентированная NoSQL БД с live-объектами. Быстрее SQLite для сложных операций.

  2. Firebase Realtime Database - облачная NoSQL БД от Google с синхронизацией в реальном времени.

Для простых данных можно использовать SharedPreferences или DataStore (более современная замена SharedPreferences с корутинами).