Android

Room

김한토 2024. 6. 4. 01:13
반응형

Room 을 사용하면 SQLite를 활용하면서 원활한 데이터베이스 액세스가 가능하도록 SQLite의 추상화 계층을 제공한다.

 

추상화 ? 복잡한 시스템을 단순화하고 중요한 정보만을 노출하여 불필요한 세부 사항을 감추는 방법

  1. 데이터 추상화: 데이터 구조와 관련된 복잡성을 숨기고 데이터를 처리하는 방법을 정의합니다. 예를 들어, 객체 지향 프로그래밍에서 클래스는 데이터 추상화의 한 형태입니다. 클래스는 데이터(속성)와 데이터를 처리하는 메서드(함수)를 포함하며, 외부에서는 이 클래스의 내부 구현 세부 사항을 알 필요 없이 클래스의 인터페이스(메서드)를 통해 상호작용할 수 있습니다.
  2. 제어 추상화: 특정 작업을 수행하는데 필요한 제어 흐름을 단순화합니다. 예를 들어, 함수를 사용하여 특정 작업을 수행하는 코드를 함수 내부에 캡슐화하고, 필요할 때마다 이 함수를 호출함으로써 제어 흐름을 단순화할 수 있습니다. 반복문이나 조건문 역시 제어 추상화의 예입니다.

캡슐화 ? , 데이터와 해당 데이터를 처리하는 메서드를 하나의 단위(객체)로 묶는 것을 의미

 

 

Room 구성요소

1. 데이터베이스 클래스 : DB 보유, 앱의 영구 데이터와 연결을 위한 액세스 포인트 역할

2. 데이터 항목 : DB의 테이블을 나타냄

3. 데이터 액세스 객체(DAO 다오) : DB의 데이터를 쿼리, 업테이트, 삽입, 삭제하는데 사용하는 메서드를 제공한다.

 

데베 클래스는 디비와 연결된 다오인스턴스를 앱에 제공한다.  -> 앱은 다오를 사용해 디비의 데이터를 연결된 데이터 항목 객체의 인스턴스로 검색 -> 상응하는 테이블에 메서드를 실행함.

 

1. 데이터 테이블 선언 -> Entity Annotation 사용

2. 다오 액세스 오브젝트 생성(인터페이스)

3. 인터페이스에 함수 호출? 룸데이터베이스 (다오에 접근할 수 있는 함수 추가)

4. 데이터베이스 로 데이터베이스 객체에 접근할 수 있는 코드가 필요함 -> 데이터베이스 빌더

 

 

 

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

 

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

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

developer.android.com

 

반응형

'Android' 카테고리의 다른 글

[삽질] Dialog 커스텀해서 쓰기 ! (input있는 dialog)  (0) 2024.06.12
[삽질] Recycler View 값이 없을 때 안보이게 하기  (0) 2024.06.08
코루틴  (0) 2024.05.24
동기 / 비동기  (0) 2024.05.20
Json / 직렬화 / 역직렬화  (0) 2024.05.16