[android] Accessing data using Room DAOs - Room 에 대해 알아보자 - Dao 는 Room 의 메인 컴퍼넌트로, 각각의 DAO 는 app db 에 접근하는 추상적인 방법을 제공한다. 직접 query 하거나 queryBuilder 를 통해 data 에 접근하는 대신, 각각의 컴퍼넌트에 대해 분리된 접근을 할 수 있다. 게다가 DAO 는 test 를 위한 mock db access 를 제공하기가 쉬워진다. - DAO 는 interface 나 abstract class 가 될 수 있다. abstract class 라면, constructor 를 통해서 RoomDatabase 를 유일한 param 으로 받을 수 있다. Room 은 각각의 DAO 를 compile time 에 생성한다. - Room 은 builder 에서 allowMainThreadQueries() 를 호출하기 .. 2020. 8. 18. [android] 기초 - Room 에 대해 알아보자 - Room 은 SQLite 의 추상화 layer 를 제공하는 lib 으로, SQLite 의 모든 기능을 사용하면서 더 견고한 db 접근을 할 수 있게 해준다. - Room 이 많은 부분을 케어해주기 때문에, SQLite 대신에 Room 을 사용하는 것이 강추된다. - Room 에는 3가지 컴퍼넌트가 있다. 1. Database DB holder 를 가지고 있으며, 앱의 relational 한 영구적인 data 에 접근하는 채널이 된다. @Database 로 annotate 된 class 는 다음 조건을 충족시켜야 한다. RoomDatabase 를 상속하는 abstract class 가 되도록 한다. db 에 들어갈 entity 들을 annotation 으로 정의해준다. @Dao 로 annotate 된 .. 2020. 8. 17. 반응형 이전 1 다음