Junior — Middle
Kun je de belangrijkste onderdelen en componenten van de Room-bibliotheek voor het werken met databases opsommen?
sobes.tech AI
Antwoord van AI
Belangrijkste onderdelen van de Room-bibliotheek voor het werken met databases in Android:
- Entity — klassen die de tabellen van de database beschrijven. Elk veld van de klasse komt overeen met een kolom.
- DAO (Data Access Object) — interfaces met methoden voor toegang tot gegevens (invoegen, bijwerken, verwijderen, query's). Room genereert de implementatie van deze methoden.
- Database — abstracte klasse die erft van RoomDatabase en alle DAO's verbindt. Via deze wordt de database gemaakt en benaderd.
Voorbeeld:
@Entity
data class User(
@PrimaryKey val id: Int,
val name: String
)
@Dao
interface UserDao {
@Query("SELECT * FROM User")
fun getAll(): List<User>
@Insert
fun insert(user: User)
}
@Database(entities = [User::class], version = 1)
abstract class AppDatabase : RoomDatabase() {
abstract fun userDao(): UserDao
}