Realm은 여러가지 API를 제공해주어서 참 편리하다고 생각하는데요.
오늘은, 미리 만들어진 데이터베이스 파일을 앱을 출시하면서 넣어서 사용할 때 어떻게 해야 하는지 정리해 보도록 하겠습니다.
이 API를 알기전에는, 최신버전인지 확인해서 assets폴더나 raw폴더에 들어있는 DB파일을 다시 앱내 디렉토리로 저장했었던 적이 있습니다.
하지만 assetFIle()메소드만 잘 사용한다면 이런작업도 더 이상 필요없어졌네요.
하나하나 보도록 하겠습니다.
1. assetFile()
기존에 RealmConfiguration을 build해 줄 때,
name()메소드의 인자로, 해당 RealmDB의 파일명을 아래와 같이 지정해 주었었는데요.
(참고로 지정해주지 않으면, default.realm으로 저장이 되지요.)
위와 같이 하면, 앱내의 저장공간인 Context.getFilesDir()에서 얻어온 경로에,
name메소드로 지정한 이름, 혹은 default.realm으로 저장하였습니다.
하지만, 미리 만들어진 데이터베이스를 앱에 저장해서 액세스하려고 하는 경우에는
assets폴더에 DB파일을 집어넣고,
assetFile()에 인자로 파일명만 집어넣어주면 됩니다.
먼저 AssetFolder는 아래와 같은 방법으로 만들 수 있습니다.
app디렉토리에서 마우스 오른쪽 버튼을 누르고 아래와 같은 경로로 생성하면 됩니다.
그럼 아래와 같이 assets폴더가 생성된 것을 볼 수 있는데요.
여기에 realm 파일을 넣으면 됩니다.
저는 testous.realm파일을 넣어두었습니다.
이제 남은 것은 아래와 같이, assetFile메소드에 인자로 위의 파일이름을 넣어주는 것 뿐입니다.
'Android 개발 > Room, Realm, Databases' 카테고리의 다른 글
Room DB 에서 검색 구현하기 # Like ExactMatch SQL (0) | 2023.04.24 |
---|---|
RoomDB 에서 One to Many 관계 구현하기 # 채팅 DB 구현 (0) | 2023.04.07 |
Room DB 사용방법 총정리 # Android SQLite (0) | 2023.04.04 |
Room DB 에 DB파일 넣어서 사용하기 # 로컬데이터베이스 SQLite (0) | 2022.11.04 |
Room을 이용해서 Offline Cache 구현하는 방법 정리 #Android (0) | 2020.05.14 |
Hot Observable 과 Cold Observable은 무엇인가요? (0) | 2017.03.19 |
Realm 에서 Thread Error 없이 데이터 조회후 삭제하기 (0) | 2017.03.08 |
Realm 에서 Migration 하는 방법 (0) | 2017.03.01 |
Realm Module 을 이용해서 멀티 Schema 활용하기 (0) | 2017.02.25 |
Android의 Realm 데이터베이스 파일 은 특별한 곳에 있지 않다 (0) | 2017.01.10 |
댓글