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:
- Definieer de entiteiten (Entity) — klassen die de tabellen van de database beschrijven.
- Maak de DAO (Data Access Object) — interface met methoden om toegang te krijgen tot de gegevens (invoegen, bijwerken, query's).
- 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.