Sobes.tech
Junior — Middle

Poți enumera principalele părți și componente ale bibliotecii Room pentru lucrul cu bazele de date?

sobes.tech AI

Răspuns de la AI

Părțile principale ale bibliotecii Room pentru lucrul cu bazele de date în Android:

  • Entity — clase care descriu tabelele bazei de date. Fiecare câmp al clasei corespunde unei coloane.
  • DAO (Data Access Object) — interfețe cu metode pentru accesul la date (inserare, actualizare, ștergere, interogări). Room generează implementarea acestor metode.
  • Database — clasă abstractă care moștenește din RoomDatabase și unește toate DAO-urile. Prin ea se creează și se accesează baza de date.

Exemplu:

@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
}