Realm 파일. 너가 보고 싶다.
728x90
반응형

로컬DB와 친하지 않는 나에게 Realm은 조금 신세계.

시작이 어렵지 막상 조작하다보면

"오호라. 이렇게 쓸 생각을 하다니."라면서 감탄을 하게 된다.

감탄만 했다면 Realm 초보 중 초보.

내가 그랬으니깐.


정말 쉬운 방법인데 다만 모를 수 있다.

(사실 나만 모르는게 아닌척 하고 싶었다.)

알고보면 쉬운 Realm 파일 꺼내는 법을 남겨본다.




내가 예상한 데이터가 계속 나오지 않는 문제를 발견했다.

그래서 데이터 파일을 직접 열어보고 싶어졌다.

나의 상황은 이렇다.


  • Android 디바이스 내부 Data, 시뮬레이터 아님
  • 로그를 찍어서 보는게 아니라 Realm 스튜디오로 조회

검색을 해보니 ADB로 Data 파일을 Pull을 하는 방법이 있었다.
시도해 보았으나 여기서 permission denied이 등장했다.
디바이스 Data 디렉토리는 Root 권한이 필요했다.
그렇다면 루팅을 해야했는데 이 과정이 나에게 너무 귀찮았다.
run-as를 쓰는 방법도 나에게 적합하지 않았다.


이렇게 여러 방법을 찾고 시도하는 과정에 놀라운 솔루션을 발견했다.

안드로이드 스튜디오에서 바로 디바이스 내부 파일을 가져올 수 있다고??

왠지 그렇게 될거 같았지만... 정말? 정말??




  1. 디바이스를 연결한다. 당연히 디바이스는 디버깅 모드로.
  2. 빌드를 한다.
  3. Menu에서 View -> Tool Windows -> Device File Explorer 클릭
  4. 디바이스 내부 파일을 들여다 볼 수 있다.
    1. Data 경로 : /data/data/Package명/files/Realm 파일 이름
    2. Package name은 app.gradle에서 "applicationId" 혹은 google-services.json의 "package_name"을 보면 된다.;
    3. Realm 파일 이름은 기본적으로 default.realm이지만 아래 코드가 들어가면 변경될 수 있다.

1
2
3
4
RealmConfiguration config = new RealmConfiguration.Builder()
                .name("new_name.realm")
                .schemaVersion(3)
                .build();
cs

Realm 파일에 마우스 커서를 가져다대고 마우스 우클릭하면 'Save as'가 된다.
가져온 파일은 Realm 홈페이지의 Realm studio로 열면 예쁘게 DB를 보여준다.












728x90
반응형