2017-02-24 3 views
0

내 애플 리케이션에서 내 애플 리케이션 캐시 폴더에 임시 파일을 저장합니다. 나는이 방법을 통해 캐시 디렉토리의 이름을 얻고있다 :안드로이드에서 캐시 디렉토리의 이름과 함께 문제가

context.getCacheDir(); 

를 그것은 나에게 같은 경로 반환 /data/user/0/my.app.packagename를 하지만 나중에 내가 이름을 얻기 위해 노력하고 있어요 이 방법을 통해 캐시 파일의 상위 디렉토리에 - file.getParent(); /data/data/my.app-packagename 그래서

getParent()가 동일하게 반환하지 않는 이유를 난 그냥, 이런 일이 왜 궁금 : 나는이 내 경우, 캐시 디렉토리에 절대적으로 다른 경로를 얻고있다 경로로 context.getCacheDir()?

+0

소스 코드 (조각)를 제공해 주시겠습니까? –

답변

3

동작은 기술적으로 똑같습니다. adb 쉘을 통해 안드로이드 장치에 연결하고/data/user /로 가서 'll'명령을 실행하면 폴더 0이/data/data /에 대한 심볼릭 링크임을 알 수 있습니다.

[email protected]:/data/user # ll 
lrwxrwxrwx root  root    1970-01-01 01:00 0 -> /data/data/ 

그 의미를 모른다면 symbolic links을 읽어보십시오.

따라서 아무런 문제가 없으며 Android가 동일한 것으로 신뢰할 수 있습니다.

+0

고마워요) 내 경우에는 내 파일이 캐시에 있는지 확인하려고했습니다. 나는 file.getParent(). startsWith (context.getCacheDir())와 같은 두 문자열을 비교하여이 작업을 수행했습니다. 그리고 나는 항상 경로에있는 0 문자 때문에 거짓이 있습니다) – Fedor