Sobes.tech
Junior — Middle

Aká je úloha anotácie @Dao v knižnici Room pre Android?

sobes.tech AI

Odpoveď od AI

Anotácia @Dao v knižnici Room pre Android označuje rozhranie alebo abstraktnú triedu, ktorá obsahuje metódy na prístup k databáze.

Úloha @Dao:

  • Definuje súbor operácií s databázou (vkladanie, aktualizácia, mazanie, dotazy).
  • Room automaticky generuje implementáciu týchto metód počas kompilácie.
  • Umožňuje oddeliť logiku prístupu k dátam od zvyšku kódu aplikácie.

Príklad:

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

    @Insert
    fun insertUser(user: User)
}

Týmto spôsobom @Dao slúži na definovanie zmlúv prístupu k dátam a Room generuje potrebný kód pre prácu s SQLite.