Junior — Middle
Peux-tu énumérer les principales parties et composants de la bibliothèque Room pour travailler avec des bases de données?
sobes.tech IA
Réponse de l'IA
Les parties principales de la bibliothèque Room pour travailler avec des bases de données sur Android:
- Entity — classes qui décrivent les tables de la base de données. Chaque champ de la classe correspond à une colonne.
- DAO (Data Access Object) — interfaces avec des méthodes pour accéder aux données (insertion, mise à jour, suppression, requêtes). Room génère l'implémentation de ces méthodes.
- Database — classe abstraite qui hérite de RoomDatabase et rassemble tous les DAO. C'est par elle que la base est créée et accessible.
Exemple:
@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
}