Ответ
В большинстве случаев нет. Чистый SQLite требует ручного управления версиями БД, миграциями, потокобезопасностью. Лучше использовать Room — обёртку над SQLite от Google.
Плюсы Room:
- Автоматическая генерация кода
- Проверка запросов на этапе компиляции
- Поддержка LiveData/RxJava
- Встроенные миграции
Пример с Room:
@Entity
data class User(
@PrimaryKey val id: Int,
val name: String
)
@Dao
interface UserDao {
@Query("SELECT * FROM user")
fun getAll(): List<User>
}
@Database(entities = [User::class], version = 1)
abstract class AppDatabase : RoomDatabase() {
abstract fun userDao(): UserDao
}
Чистый SQLite уместен только для очень простых задач или когда нужен полный контроль.