Back to questions
Junior — Middle
80
Каким образом можно выполнить обращение к базе данных, используя Room в Android?
Companies where asked
NetUP
Answer from AI
sobes.tech AI
Для обращения к базе данных с помощью Room в Android нужно выполнить несколько шагов:
- Определить сущности (Entity) — классы, которые описывают таблицы базы данных.
- Создать DAO (Data Access Object) — интерфейс с методами для доступа к данным (вставка, обновление, запросы).
- Создать базу данных (Database) — абстрактный класс, наследующий RoomDatabase, который связывает сущности и DAO.
Пример:
@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
}
// Использование
val db = Room.databaseBuilder(
context,
AppDatabase::class.java, "database-name"
).build()
val userDao = db.userDao()
val user = userDao.getUserById(1)
Таким образом, через DAO можно выполнять запросы к базе данных, а Room автоматически генерирует необходимый код.