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

Какова роль аннотации @Dao в библиотеке Room для Android?

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

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

sobes.tech AI

Аннотация @Dao в библиотеке Room для Android обозначает интерфейс или абстрактный класс, который содержит методы для доступа к базе данных.

Роль @Dao:

  • Определяет набор операций с базой данных (вставка, обновление, удаление, запросы).
  • Room автоматически генерирует реализацию этих методов во время компиляции.
  • Позволяет отделить логику доступа к данным от остального кода приложения.

Пример:

@Dao
interface UserDao {
    @Query("SELECT * FROM users WHERE id = :userId")
    fun getUserById(userId: Int): User

    @Insert
    fun insertUser(user: User)
}

Таким образом, @Dao служит для определения контрактов доступа к данным, а Room генерирует необходимый код для работы с SQLite.