Junior — Middle
Jak uzyskać dostęp do bazy danych za pomocą Room na Androidzie?
sobes.tech AI
Odpowiedź od AI
Aby uzyskać dostęp do bazy danych za pomocą Room na Androidzie, należy wykonać kilka kroków:
- Zdefiniuj encje (Entity) — klasy opisujące tabele bazy danych.
- Utwórz DAO (Data Access Object) — interfejs z metodami dostępu do danych (wstawianie, aktualizacja, zapytania).
- Utwórz bazę danych (Database) — abstrakcyjna klasa dziedzicząca po RoomDatabase, łącząca encje i DAO.
Przykład:
@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
}
// Użycie
val db = Room.databaseBuilder(
context,
AppDatabase::class.java, "database-name"
).build()
val userDao = db.userDao()
val user = userDao.getUserById(1)
W ten sposób, za pomocą DAO, można wykonywać zapytania do bazy danych, a Room automatycznie generuje potrzebny kod.