ANDROID/ARCHITECTURE

[Android] ROOM Database 라이브러리 사용하기! (MVVM-2)

GaGah 2020. 6. 27. 00:46

1. ROOM 이란 무엇인가?

ROOM은 ORM(Object Relational Mapping library)로, 안드로이드 내부 디비를 구현할 수 있는 AAC 중 하나입니다.

ROOM은 SQLite의 추상레이어 위에 제공하고 있으며 SQLite의 모든 기능을 제공하면서 활용하고 있습니다.

가장 일반적인 사용 사례로는 데이터를 캐싱하는 것입니다.

대부분의 애플리케이션에서, 와이파이, 데이터가 통하지 않는 오프라인 상황에서도 데이터들을 볼 수 있습니다.

 

 

2. RoomDB 의 3가지 구성요소

앞서, MVVM 구조를 설명했었는데, 그중 Model에 해당합니다. 

 

- 데이터베이스 

  • @Database로 Annotation된 클래스는 추상 클래스여야 합니다.
  • Entity, version등을 적어줍니다.
  • @Dao로 처리된 클래스를 반환해주어야 합니다.

AppDatabase.kt

- Entity

  • 데이터베이스 내의 테이블을 나타냅니다.

Partner.kt

 

- DAO

  • 데이터베이스에 액세스하는 데 사용되는 메서드가 포함되어있습니다. 

PartnerDao.kt

3.  Room 아키텍처 다이어그램

 

 

4. 실제, 내가 하고 있는 것! (++구조)

 

ForeignKey로 연결해서 구현하고 있습니다.

확장성을 고려하고 있고, 1대 1 메시지가 아닌 1대 다 메시지를 생각하고 있습니다~!

 

 

ROOM 버전 업그레이드가 계속 되고 있어요! 참고하면 좋을 것 같습니다.

developer : https://developer.android.com/jetpack/androidx/releases/room

출처 : https://developer.android.com/training/data-storage/room?hl=ko

 

Room을 사용하여 로컬 데이터베이스에 데이터 저장  |  Android 개발자  |  Android Developers

Room 라이브러리를 사용하여 더 쉽게 데이터를 유지하는 방법 알아보기

developer.android.com

 

LIST

'ANDROID > ARCHITECTURE' 카테고리의 다른 글

[Android] MVVM 패턴이란?! (feat. 예제 소개)  (0) 2020.06.01