마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

release 버전에서 databases 폴더에 접근이 안되나요?

0 추천
안녕하세요.

/data/data/패키지명/databases

내부에 있는 파일을 google drive에 업로드 하려고 하고 있습니다.

 

debug build에서는 잘 업로드 되는데

release build에서는 drive에 접근, 삭제 다 되는데 업로드만 딱 안되네요.

 

파일 경로는
String myFilePath = "/data/data/패키지명/databases/myFile";

위와 같이 그냥 적어서 접근하는 방식으로 했는데

혹시 release build에서는 다른 방식으로 접근해야 접근이 가능한지요?

그렇다면 어떻게 접근하면 될까요?

안드로이드 바보입니다.. 도와주시면 복받으실거에요...
wonn (150 포인트) 님이 6월 17일 질문

1개의 답변

0 추천
 
채택된 답변
개발자 문서에 보시면 다른 storage형태에 따라 접근방법이 다릅니다. 아래 페이지에서 확인하시면 되구요.

https://developer.android.com/training/data-storage

님의 경우는 internal storage 를 사용하시는건데, 애뮬레이터와 실제 디바이스와는 경로가 다를 수 있기 때문에, 위의 페이지에 나온대로

From internal storage, getFilesDir() or getCacheDir()
From external storage, getExternalFilesDir() or getExternalCacheDir()

를 이용해서 접근하시면 될 것 같습니다. API 문서는 아래링크에 있구요,

https://developer.android.com/reference/android/content/Context#getFilesDir()

위의 메소드 바로 아래에 파일을 열 수 있는 함수가 같이 링크가 걸려있습니다. getFilesDir()로 읽어온 경로에 "/database/myFile"추가 경로로 더해서 접근하시면 될 것 같아 보이네요. 저같은 경우도 어떻게 접근하는지 머릿속에는 기억하고 있지 않고 API문서 보고 함수를 확인해 가면서 처리를 하곤 합니다. 자바를 아신다면 안드로이와 상관없이 해당 API들을 기반으로 원하는 코드를 작성하실수 있을 거라 생각합니다.
spark (139,480 포인트) 님이 6월 17일 답변
wonn님이 6월 20일 채택됨
...