Sobes.tech
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
}