Room4 Android Room - RxKotlin과 함께 쓰는 방법 지난 포스팅들에서 Room에 대해 배워보고 Coroutine, RxKotlin, LiveData와 함께 사용할 수 있다는 것을 알았다. 최근에 올렸던 Coroutine과 함께 사용하는 방법에 이어서 RxKotlin과 사용하기 위해서 어떻게 해야 하는지, 어떻게 사용하는지에 대해 이번 포스팅에 대해서 알아본다. Dependency Coroutine의 경우와 마찬가지로, Room을 RxKotlin과 함께 사용하기 위해서도 dependency를 추가해줘야 한다. 먼저, 모듈의 build.gradle 파일에 Kotlin annotation plugin을 추가해준다. build.gradle 파일의 상단 부분에 위와 같이 작성하여 플러그인을 추가한다. dependencies block에는 위의 세 줄을 추가해주기만.. 2020. 6. 10. Android Room - Coroutines(코루틴)과 같이 쓰는 법 이번 포스팅에서는 지난 번에 설명한 Room과 Coroutine을 함께 사용하는 방법에 대해 알아 본다. Room은 2.1 버전부터 Coroutine을 지원해주고 있다. DAO 메소드를 suspend로 선언하여 사용할 수 있다. build.gradle 파일 수정 Room만 사용한다고 Coroutine 지원을 바로 받을 수 있는 것은 아니다. Room과 Coroutine을 함께 사용하려면 build.gradle 파일에서 Room 버전을 2.1 이상으로 지정하고 Coroutine 지원 dependency도 추가해주어야 한다. 위와 같은 방식으로 build.gradle에 coroutine을 위한 room dependency를 추가해주면 된다. suspend DAO method 선언 DAO 선언시 suspend.. 2020. 6. 6. Android Room - Entity Annotations Room Entity에 사용할 수 있는 annotation들은 굉장히 많다. 그 중에 사람들이 자주 사용하는 annotation들에 대해서 짧게 정리해보려 한다. Entity 먼저 class를 Room Entity로 선언하기 위해서 기본적으로 Entity Annotation을 지정해줘야 한다. Entity Annotation 안에서 위와 같이 table 이름을 지정해 줄 수 있다. 지정하지 않으면 클래스 이름을 그대로 table 이름으로 사용하게 되는데, 일반적으로는 table 이름을 직접 지정하는 경우가 더 많을 것이다. 이럴 때는 위와 같이 사용하면 된다. PrimaryKey 필드를 DB의 기본 키로 설정할 수 있다. DB가 해당 키를 자동으로 증가시키게 하려면 autoGenerate를 true로 하.. 2020. 6. 4. Android Room Room이란? Room은 SQLite를 편하게 사용할 수 있도록 하는 wrapper라고 생각하면 된다. Room은 Persistence 라이브러리로, SQLite를 사용하는 추상화 계층을 제공하여 SQLite의 모든 기능을 사용할 수 있는 다양한 DB Access가 가능하도록 해 준다. Room을 사용해야 하는 이유 컴파일 타임 체크를 제공 LiveData를 함께 사용하기에 편리 구현하고 사용하기가 편리 사용시 쓸데 없이 많은 코드 불필요 Room의 기본 컴포넌트 Entity DAO Databse Room의 기본 컴포넌트는 위와 같이 세 가지 요소가 있다. Entity Database에서 사용할 테이블과 매칭되는 Kotlin(또는 Java) 클래스 DAO get, store 등과 같이 Database a.. 2020. 6. 2. 이전 1 다음