[Android] Room (local DB 라이브러리)에 대해 알아보자

김민주·2022년 12월 28일
0

Android

목록 보기
18/21

Room 라이브러리

: SQLite에 추상화 레이어를 제공하여 SQLite를 완벽히 활용하면서 더 견고한 데이터베이스 액세스를 가능하게 한다.

라이브러리를 사용하면 앱을 실행하는 기기에서 앱 데이터의 캐시를 만들 수 있고,
앱의 단일 정보 소스로 제공되는 이 캐시를 통해 사용자는 인터넷 연결 여부와 관계없이 앱에 있는 주요 정보를 볼 수 있다.


장점

  • SQL 쿼리의 컴파일 시간 확인
  • 반복적이고 오류가 발생하기 쉬운 상용구 코드(보일러플레이트)를 최소화하는 편의 주석
  • 간소화된 데이터베이스 이전 경로

기본 구성요소

  • 데이터베이스 클래스(Room Database): 데이터베이스를 보유하고 앱의 영구 데이터와의 기본 연결을 위한 기본 액세스 포인트 역할
  • 데이터 항목(Entities): 앱 데이터베이스의 테이블
  • 데이터 액세스 객체(DAO): 앱이 데이터베이스의 데이터를 쿼리, 업데이트, 삽입, 삭제하는 데 사용할 수 있는 메서드를 제공

유의 사항

  • Primitive Type과 Boxed Type만 사용 가능
    - 일반 객체로 ORM 수행하면 속도가 느려지고 메모리낭비가 심해짐
    - 일반 객체 사용 시 TypeConverter 로 변환

App Inspection 에서 DB 테이블 확인 가능 (Live update 가능)

profile
𝐃𝐨𝐧'𝐭 𝐛𝐞 𝐚 𝐩𝐫𝐨𝐜𝐫𝐚𝐬𝐭𝐢𝐧𝐚𝐭𝐨𝐫💫

0개의 댓글