카테고리 없음

안드로이드 파일 자동으로 가져오기(realm DB파일)

미사구돌 2020. 2. 18. 11:55

안드로이드 개발 중

realm(DB), SQLite 파일을 가져와서 DB속 내용확인 필요

매번 파일을 android studio device file exploer로 복사, 확인하기 번거로움

 

한번에 파일을 내컴퓨터로 가져올 방법을 찾음

 

방법

  1. db파일을 접근가능한 안드로이드 속 파일폴더로 복사
    (복사하지 않으면 기존에 db파일 있는 곳 접근권한이 없고, 권한 얻기가 까다롭다)
  2. 파일을 복사해오는 명령어를 만든다.
  3. 명령어를 실행가능한 파일로 만든다.

 

 

1. DB파일을 접근 가능한 안드로이드 파일 폴더로 복사한다

//class HomeFragment : Fragment()
override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

       	realm = Realm.getDefaultInstance()
		//실제 배포에서는 빼주도록 하자
        try {
            val file =
                File(activity?.getExternalFilesDir(null),"/default.realm") //복사할 경로, 파일
                //??.realm 이 DB파일
            if (file.exists()) {

                file.delete()//기존에 복사한 파일이 있으면 지움
            }

            realm.writeCopyTo(file)//DB파일을 경로로 복사
            Log.d("test","Success export realm file!!"+"filePath:"+file.toString())//경로확인
        } catch (e: Exception) {
            realm.close()
            e.printStackTrace()
        }


    }

비공개 파일Context.getExternalFilesDir()를 사용하여 액세스하는 앱별 디렉터리에 저장된 파일입니다. 비공개 파일은 사용자가 앱을 제거할 때 정리됩니다. 이 파일은 외부 저장소에 있기 때문에 사용자가 그리고 다른 앱에서 기술적으로 액세스할 수는 있지만 앱 외부의 사용자에게 가치가 있는 것은 아닙니다. 다른 앱과 공유하지 않으려는 파일에 이 디렉터리를 사용하세요.

 

 

2. 파일을 복사해오는 명령어

콘솔에서 파일이 정상적으로 복사 되는지 확인하고 다음으로 이동.

adb pull <android file> <local path> : pull 명령어는 안드로이드 폰에 존재하는 파일을 로컬 pc로 복사하는 명령어

adb pull /storage/emulated/0/Android/data/com.example.myapplicationemptyactivity.dev/files/default.realm C:\Users\당신!사용자이름\Documents 
안드로이드 파일 경로는 코드에서 logcat에 찍히도록 했으니  확인한다.

 

윈도우 콘솔창에서 adb만을 입력했을 때 안될경우.

안드로이드 SDK폴더 플렛폼 툴속에 ADB파일이 있는데 이것을 시스템 환경변수에 등록시켜주면 된다. 찾아서 등록만 하면된다.

혹시나 모르신다면 아래로 연결

https://serendipper16.tistory.com/6

 

 

 

 

3. 파일을 복사해오는 명령어를 BAT파일(실행파일)로 작성

메모장을 켜고 명령어를 적은후 .BAT파일로 저장후 실행하면 끝.

@echo off

adb pull /storage/emulated/0/Android/data/com.example.myapplicationemptyactivity.dev/files/default.realm C:\Users\당신의이름\Documents

realmAutoCopy.BAT
0.00MB

 

4. BAT파일을 실행하면 DB파일이 내 컴퓨터로 바로 가져와진다.