getExternalFilesDir과 getExternalStorageDirectory ()의 차이점
ExternalFiles는 API 8 이상에서 사용되고 getExternalStorageDirectory는 7 이하에서 사용된다는 것을 이해합니다. 그러나 나는 사용 사이에 약간 혼란 스럽습니다. 예를 들어 존재하는 폴더가 있는지 확인하고 싶었고 이전에는 다음과 같은 것을 사용했습니다.
File ChildFolder = new File(Environment.getExternalStorageDirectory() + "/ParentFolder/Child");
 
그러나 내가 보는 모든 예제는 getExternalFilesDir (null), File.ext를 사용하도록 말합니다. API 8 이상이므로이 방법을 사용하고 싶지만 폴더를 어떻게 확인합니까? 다른 지점에서 파일이 있는지 확인하지만 지금은 폴더가 있는지 확인하고 싶습니까 ??
TIA JB
getExternalFilesDir()
 
SD 카드의 Android / data / data / your_package / 내부 파일 폴더 의 경로를 반환합니다 . 앱에 필요한 모든 파일 (예 : 웹 또는 캐시 파일에서 다운로드 한 이미지)을 저장하는 데 사용됩니다. 앱이 제거되면이 폴더에 저장된 모든 데이터도 사라집니다.
getExternalStorageDirectory()
 
SD 카드의 루트 경로를 반환합니다 (예 : mnt / sdcard / ). 이 경로에 데이터를 저장하고 앱을 제거하면 해당 데이터가 손실되지 않습니다.
우선 내부 저장소, 외부 저장소 (일명 기본 외부 저장소) 및 보조 외부 저장소의 차이점을 이해해야합니까?
내부 저장소 : 설치된 앱 (또는 기기 루팅)을 제외하고는 사용자가 액세스 할 수없는 저장소입니다. 예 : data / data / app_packageName
기본 외부 저장소 : "사용자가 USB 케이블을 연결하고 호스트 컴퓨터에 드라이브로 마운트하여 액세스 할 수있는"내장 공유 저장소에 있습니다. 예 : Nexus 5 32GB라고 할 때.
보조 외부 저장소 : 이동식 저장소. 예 : SD 카드.
getExternalFilesDir (String type)
 
기본 외부 저장소의 Android / data / data / your_package / 내부 파일 폴더 경로를 반환합니다. 내장 스토리지입니다.
getExternalStorageDirectory ()
 
보조 외부 저장소 디렉터리의 경로를 반환합니다.
! 중요 업데이트! 이 질문을 접하는 사람을 위해.
이것은 다소 오래된 질문이므로 추가 정보를 제공하고 싶었습니다. KitKat은 WRITE_EXTERNAL_STORAGE 권한이 있는 앱도 외부 저장소의 Android / data / data / your_package / 에만 쓸 수 있기 때문에 일명 getExternalFilesDir()
쓰기를 시도하면 getExternalStorageDirectory() + "/somefolder/anotherfolder/"대부분의 장치에서 SecurityException이 발생합니다.
'IT박스' 카테고리의 다른 글
| C ++ 벡터의 삽입 및 푸시 백 차이 (0) | 2020.10.27 | 
|---|---|
| 사용자 지정 속성에 대한 클라이언트 측 유효성 검사 수행 (0) | 2020.10.26 | 
| MySQL 업데이트 CASE WHEN / THEN / ELSE (0) | 2020.10.26 | 
| Google Analytics analytics.js 예외 추적에서 예외보고 (0) | 2020.10.26 | 
| URL에서 이스케이프 된 문자 디코딩 (0) | 2020.10.26 |