Sobes.tech
Back to questions
Junior — Middle
73

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

Companies where asked
Ubic

Answer from AI

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.