2012-07-13 2 views
4

현재 일부 데이터를 임시적으로 저장할 수있는 위치를 얻으려면 Environment.getExternalStorageDirectory()을 사용하고 사용 후 삭제됩니다. 이 데이터의 범위는 1-100MB입니다.getExternalStorageDirectory를 사용할 수없는 경우의 대체 솔루션?

내 질문이 좋은이 될 수 무엇

이 잘 작동하지만, 일부의 경우에 외부 저장 장치의 상태가 제거되거나 등 마운트 해제 ... 그리고 내 데이터를 저장하는 데에 액세스 할 수 없습니다 ... 이 스토리지를 사용할 수없는 대체 솔루션?

Android 1.6 이상을 타겟팅합니다. 직접 Environment.getExternalStorageDirectory()에 의해 반환 된 경로를 should not use

답변

3

참고 :

응용 프로그램을 직접 사용자의 루트 네임 스페이스를 오염 피하기 위해 위해,이 최상위 디렉토리를 사용하지 않아야합니다. 응용 프로그램 전용 파일 인 은 Context.getExternalFilesDir에 의해 반환 된 디렉터리에 저장해야하며 응용 프로그램이 제거되면 시스템에서 삭제를 처리합니다. 다른 공유 파일 은 getExternalStoragePublicDirectory(String)이 반환하는 디렉터리 중 하나에 있어야합니다.

사용 외부 저장에 저장하기 내부 스토리지, 또는 getExternalFilesDir()에 앱에 개인 파일을 저장하는 getFilesDir()에 의해 반환 된 경로

.

데이터를 임시로 저장하는 경우 캐시 디렉토리 사용을 고려하십시오.

이러한 파일은 기기가 낮은 저장 용량으로 실행될 때 먼저 삭제되는 파일입니다.

외부 파일 시스템에 getCacheDir() 또는 getExternalCacheDir() 메서드를 사용하십시오. 서로 중요한 차이점에 대한 문서를 읽으십시오.

저장할 데이터의 크기가 크지 않은 경우 내부 저장소를 사용하는 것이 좋습니다. 그렇지 않으면 외부 저장 장치를 사용할 수 있는지 감지하는 복잡성을 관리하고 그렇지 않은 경우 내부 저장 장치로 백업해야합니다.

+0

나는 날짜까지 읽은 가장 좋은 답변입니다. 정말 고마워 –

관련 문제