본문 바로가기
Android

Enviroment 폴더 경로 얻기

by 루에 2015. 11. 11.
반응형

공식 SDK 주소 https://developer.android.com/reference/android/os/Environment.html


External 폴더 경로를 얻기 위해 Enviroment를 사용한 방법이다.


위 sdk문서를 보면 다양한 메소드들이 제공된다.

Public Methods
static FilegetDataDirectory()
Return the user data directory.
static FilegetDownloadCacheDirectory()
Return the download/cache content directory.
static FilegetExternalStorageDirectory()
Return the primary shared/external storage directory.
static FilegetExternalStoragePublicDirectory(String type)
Get a top-level shared/external storage directory for placing files of a particular type.
static StringgetExternalStorageState(File path)
Returns the current state of the shared/external storage media at the given path.
static StringgetExternalStorageState()
Returns the current state of the primary shared/external storage media.
static FilegetRootDirectory() - 기본적으로 read only!
Return root of the "system" partition holding the core Android OS.
static StringgetStorageState(File path)
This method was deprecated in API level 21. use getExternalStorageState(File)
static booleanisExternalStorageEmulated()
Returns whether the primary shared/external storage media is emulated.
static booleanisExternalStorageEmulated(File path)
Returns whether the shared/external storage media at the given path is emulated.
static booleanisExternalStorageRemovable(File path)
Returns whether the shared/external storage media at the given path is physically removable.
static booleanisExternalStorageRemovable()
Returns whether the primary shared/external storage media is physically removable.


안드로이드에서 제공하는 기본 폴더(도큐먼트, 음악, 알림, 벨소리 등)를 접근하기 위해서는 Enviroment의 type을 설정한다.

예는 아래와 같다.

getExternalStoragePublicDirectory(Enviroment.type)

타입의 종류는 아래와 같다.

public static String DIRECTORY_MUSIC = "Music";
public static String DIRECTORY_PODCASTS = "Podcasts";
public static String DIRECTORY_RINGTONES = "Ringtones";
public static String DIRECTORY_ALARMS = "Alarms";
public static String DIRECTORY_NOTIFICATIONS = "Notifications";
public static String DIRECTORY_PICTURES = "Pictures";
public static String DIRECTORY_MOVIES = "Movies";
public static String DIRECTORY_DOWNLOADS = "Download";
public static String DIRECTORY_DCIM = "DCIM";
public static String DIRECTORY_DOCUMENTS = "Documents";


그 외 어플리케이션 고유 저장소를 접근하기 위한 방법은


API
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/Downloads
 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

이며, 필요했던게 공용 영역 접근이라 이 부분에 대한 글은 아래 주소 내용을 복사했다.


http://androidhuman.com/432

반응형

댓글