안드로이드 파일(File) 저장 경로 구하는 메소드
안드로이드 앱에서 파일을 저장하는 경로가 여러곳이다
내부 저장소
내가 만든 애플리케이션에서만 데이터를 읽고 쓸 수 있다.
캐쉬
1 | File Context.getCacheDir() |
파일경로 : /data/data/패키지이름/cache
데이터베이스
1 | File Context.getDatabasePath(String name) |
파일경로 : /data/data/패키지이름/databases
일반 파일
1 | File Context.getFilesDir() |
파일경로 : /data/data/패키지이름/files
이 경로는 Context.openFileOutput(String, int) 과 동일하다
1 | File Context.getFileStreamPath(String name) |
파일경로 : /data/data/패키지이름/files/파일이름
외부 저장소 - 공용 영역
애플리케이션을 삭제해도 데이터는 남아있다.
최상위 경로
외부 저장소(SD카드)의 최상위 경로를 반환한다.
1 | static File Environment.getExternalStorageDirectory() |
1 | static File Environment.getExternalStoragePublicDirectory(String type) |
각 인자 및 경로
- Environment.DIRECTORY_ALARMS : 알람으로 사용할 오디오 파일 저장/mnt/sdcard/Alarms
- Environment.DIRECTORY_DCIM : 카메라로 촬영한 사진 저장/mnt/sdcard/DCIM
- Environment.DIRECTORY_DOWNLOADS : 다운로드한 파일 저장/mnt/sdcard/Download
- Environment.DIRECTORY_MUSIC : 음악 파일 저장/mnt/sdcard/Music
- Environment.DIRECTORY_MOVIES : 영상 파일 저장/mnt/sdcard/Movies
- Environment.DIRECTORY_NOTIFICATIONS : 알림음으로 사용할 오디오 파일 저장/mnt/sdcard/Notifications
- Environment.DIRECTORY_PICTURES : 그림 파일 저장/mnt/sdcard/Pictures
- Environment.DIRECTORY_PODCASTS : 팟캐스트 파일 저장/mnt/sdcard/Podcasts
외부 저장소 - 애플리케이션 고유 영역
이 영역에 저장된 데이터는 애플리케이션이 삭제될 때 같이 삭제되며
다른 애플리케이션에서 해당 데이터에 접근하는 것이 가능하다.
특정 데이터를 저장하는 영역
애플리케이션 고유 영역에도 공용 영역과 마찬가지로 각 데이터 유형별로 데이터를 저장하는 표준 디렉터리를 제공한다.
1
File Context.getExternalFilesDir(String type)
Environment.DIRECTORY_ALARMS/mnt/sdcard/Android/data/패키지 이름/files/Alarms
Environment.DIRECTORY_DCIM /mnt/sdcard/Android/data/패키지 이름/files/DCIM
Environment.DIRECTORY_DOWNLOADS/mnt/sdcard/Android/data/패키지 이름/files/Download
Environment.DIRECTORY_MUSIC /mnt/sdcard/Android/data/패키지 이름/files/Music
Environment.DIRECTORY_MOVIES/mnt/sdcard/Android/data/패키지 이름/files/Movies
Environment.DIRECTORY_NOTIFICATIONS /mnt/sdcard/Android/data/패키지 이름/files/Notifications
Environment.DIRECTORY_PICTURES /mnt/sdcard/Android/data/패키지 이름/files/Pictures
Environment.DIRECTORY_PODCASTS/mnt/sdcard/Android/data/패키지 이름/files/Podcasts
null/mnt/sdcard/Android/data/패키지 이름/files
캐시 데이터를 저장하는 영역
- 애플리케이션에서 사용하는 임시 데이터를 외부 저장소에 저장한다.
1
File Context.getExternalCacheDir()