2015-01-11 4 views
-1

필자가 작성중인 응용 프로그램의 파일을 찾고/만들려고 많은 시간을 보냈습니다. 응용 프로그램 디렉토리 이름을 가져 오면 나는 /data/data/com.example.android.[myapp]/files를 얻습니다. 나는 파일 (getFilesDir() 사용하고 있습니다 :Android 휴대 전화에서 응용 프로그램 데이터를 찾을 수 없습니다.

File fileDir = new File(getFilesDir() + File.separator); 
    Log.i(TAG, "File directory: "+fileDir); 

나는이 내가 여기에 많은 응용 프로그램 폴더를 찾을 경로를 찾아보십시오. 안드로이드/데이터/COM하지만 안드로이드에서 어떤/데이터/데이터 폴더가 있습니다 많은 다른 응용 프로그램을 거기에 폴더가 있지만 광산 없습니다. 내가 안드로이드 파일 애플 리케이션이나 USB를 통해 Windows 탐색기를 사용하든 동일한 결과가 나타납니다. 또한 이클립스 DDMS 탭을 사용하여 보았습니다. 왼쪽에있는 (+) 데이터 폴더를 볼 수 있지만 언제 나는 그것을 확장하지 않는다.

나는 또한 Windows 탐색기로 수동으로 디렉토리와 파일을 만들려고했는데 내 앱은 여전히 ​​Android/data/com.example이나 Android/data를 찾을 수 없다. /data/com.example ... 경로

또한 수수께끼는 응용 프로그램이 경로와 파일을 만들고 (MODE_WORLD_WRITEABLE을 사용하여) 응용 프로그램에서 예외를 발생시키지 않으면 예외가 발생하지만 다시 읽거나 위에서 언급 한 도구 중 하나를 사용하여 볼 수 없습니다. 앱의 WRITE_INTERNAL_STORAGE 및 WRITE_INTERNAL_STORAGE에 대한 매니페스트 권한을 설정했습니다.

분명히, 나는 아주 기본적인 실수를 저지르고있다.

Android 4.1.2 (API 16)를 사용 중입니다. 내가 여기에서 많은 응용 프로그램 폴더를 찾아이 경로를 찾을 때

감사 ScratchingMyHead

+0

Commonsware에서 말한 것처럼 하드웨어에서 DDMS가있는 데이터/폴더에 액세스 할 수는 없지만 장치를 루트로 설정하거나 에뮬레이터를 사용하면 쉽게 해당 폴더에 액세스 할 수 있습니다. –

답변

0

내 응용 프로그램 디렉토리의 경로를 얻으려면이 코드 샘플

PackageManager m = getPackageManager(); 
String s = getPackageName(); 
try { 
    PackageInfo p = m.getPackageInfo(s, 0); 
    s = p.applicationInfo.dataDir; 
} catch (NameNotFoundException e) { 
    Log.w("yourtag", "Error Package name not found ", e); 
} 
0

을 시도해보십시오 안드로이드/data/com에는 있지만 Android에는/data/data 폴더가 없습니다. 당신이 external storage에서 찾고 있기 때문이다

, 파일은하지 internal storage 곳. 에뮬레이터에서 DDMS를 사용하여 내부 저장소를 검사하십시오.

또한 Eclipse DDMS 탭을 사용하여 보려고했습니다. 왼쪽에 (+)가있는 데이터 폴더가 표시되지만 클릭하면 확장되지 않습니다.

실제 하드웨어에서는 /data의 내용에 액세스 할 수 없기 때문에 하드웨어에서 테스트 할 때 얻을 수있는 것과 비슷합니다.

관련 문제