Sobes.tech
Junior — Middle

Hoe kun je toegang krijgen tot de database met Room op Android?

sobes.tech AI

Antwoord van AI

Om toegang te krijgen tot de database met Room op Android, moet je een aantal stappen volgen:

  1. Definieer de entiteiten (Entity) — klassen die de tabellen van de database beschrijven.
  2. Maak de DAO (Data Access Object) — interface met methoden om toegang te krijgen tot de gegevens (invoegen, bijwerken, query's).
  3. Maak de database (Database) — abstracte klasse die van RoomDatabase erft, die entiteiten en DAO verbindt.

Voorbeeld:

@Entity
data class User(
    @PrimaryKey val id: Int,
    val name: String
)

@Dao
interface UserDao {
    @Query("SELECT * FROM User WHERE id = :userId")
    fun getUserById(userId: Int): User

    @Insert
    fun insertUser(user: User)
}

@Database(entities = [User::class], version = 1)
abstract class AppDatabase : RoomDatabase() {
    abstract fun userDao(): UserDao
}

// Gebruik
val db = Room.databaseBuilder(
    context,
    AppDatabase::class.java, "database-name"
).build()

val userDao = db.userDao()
val user = userDao.getUserById(1)

Op deze manier kun je via de DAO queries uitvoeren op de database, en Room genereert automatisch de benodigde code.