[Android 개념] Room

이창민·2022년 8월 28일
0

Android 개념

목록 보기
8/9

Room

  • DB 설정과 사용을 쉽게 해줌
  • 어노테이션이 지정된 코틀린 클래스로 DB 구조와 쿼리를 정의할 수 있음
  • API, 어노테이션, 컴파일러로 구성됨

    API : DB 정의, 인스턴스 생성을 위해 상속받는 클래스들이 포함됨
    어노테이션 : DB 테이블을 사용하는 함수들을 정의하는 클래스등을 나타내기 위해 사용
    컴파일러 : 지정한 어노테이션을 컴파일해 DB 구현체를 생성

사용 이점

  • SQL 쿼리의 컴파일 시간 확인
  • 반복적이고 오류가 발생하기 쉬운 상용구 코드를 최소화하는 편의 주석
  • 간소화된 DB 이전 경로

위 이유로 인해 SQLite API를 직접 사용하기 보다 Room을 사용하는 것이 좋음

기본 구성 요소

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

DB class는 DB와 연결된 DAO 인스턴스를 앱에 제공
앱은 DAO를 사용해 DB의 데이터를 연결된 항목 객체의 인스턴스로 검색 가능해짐
앱은 정의된 데이터 항목을 사용해 상응하는 테이블의 행을 업데이트하거나 삽입할 새 행을 만들 수 있음

참고자료

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

profile
android 를 공부해보아요

0개의 댓글