Slide 45
Slide 45 text
Android Room
Room
comment accéder à la
base SQLite présente
sur vos devices grâce à
des annotations
2 Ecrire des DAO pour
exécuter des requêtes
3 Déclarer la base de
données et les DAO
@Entity(tableName = "speaker")
data class Speaker(
@PrimaryKey val uiid: String,
@ColumnInfo var firstName: String,
@ColumnInfo var lastName: String,
@ColumnInfo var country: String = "MAROC"
)
1 Mapper son modèle objet
et la base de données
@Dao
interface SpeakerDao{
@Query("SELECT * from speaker")
fun all(): List
@Insert
fun insert(speaker: Speaker)
@Delete
fun delete(speaker: Speaker)
}
private lateinit var INSTANCE: AppDatabase
@Database(entities = arrayOf(Speaker::class),
version = 1)
abstract class AppDatabase : RoomDatabase() {
abstract fun speakerDao(): SpeakerDao
companion object {
fun instance(context: Context): AppDatabase {
synchronized(AppDatabase::class) {
if (!::INSTANCE.isInitialized) {
INSTANCE = Room.databaseBuilder(
context.applicationContext,
AppDatabase::class.java,
"AppDatabase").build()
}
}
return INSTANCE
}
}
}