본문 바로가기
Android 개발/Room, Realm, Databases

미리 작성된 Realm 데이터베이스를 앱에 넣어서 사용하기

by Developer88 2017. 6. 19.
반응형

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메소드에 인자로 위의 파일이름을 넣어주는 것 뿐입니다.



728x90

댓글