Sobes.tech
Назад к вопросам
Junior — Middle
66

Можешь назвать ключевые компоненты библиотеки Room для работы с базой данных?

Компании, где спрашивали
X5 DigitalX5 Digital

Ответ от нейросети

sobes.tech AI

Ключевые компоненты библиотеки Room:

  • Entity — класс, который описывает таблицу в базе данных. Каждое поле соответствует столбцу.
  • DAO (Data Access Object) — интерфейс с методами для доступа к данным (вставка, обновление, удаление, запросы).
  • Database — абстрактный класс, наследующий RoomDatabase, который связывает Entity и DAO, и предоставляет экземпляр базы.

Пример:

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