본문 바로가기
프로그래밍 놀이터/안드로이드, Java

[Android/안드로이드] SD Card 사용하기. ( 접근하기 )

by 돼지왕 왕돼지 2012. 2. 22.
반응형


안녕하세요 돼지왕 왕돼지입니다.
오늘은 SD Card ( External Storage ) 를 사용하는, 혹은 접근하는 방법에 대해서 함께 알아보겠습니다.


Permission.

  
SD 카드의 파일을 읽는 것은 아무런 Permission 없이 가능합니다만, 파일을 쓰는 것은 Permission 이 필요합니다. Manifest에 다음과 같이 기술해줍니다. 

 <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

 
 


APIs

 
static String getExternalStorageState() 
 : SD 카드의 현재 상태 조사 MEDIA_MOUNTED / MEDIA_UNMOUNTED
 
static File getExternalStorageDirectory()
  : SD 카드가 마운트된 경로. 보통 /sdcard
 
static File getRootDirectory()
static File getDataDirectory()
static File getDownloadCacheDirectory()


String ext = Environment.getExternalStorageState();
String sdpath = Environment.getExternalStorageDirectory().getAbsolutePath();
String rootdir = Environment.getRootDirectory().getAbsolutePath();
String datadir = Environment.getDataDirectory().getAbsolutePath();
String cachedir = Environment.getDownloadCacheDirectory().getAbsolutePath();


<example>

File dir = new File(sdpath + "/dir");
dir.mkdir();
 
//Save
File file = new File(sdpath + "/dir/file.txt");
try{
   FileOutputStream fos = new FileOutputStream(file);
   String str = "This file exists in SDcard";
   fos.write(str.getBytes());
   fos.close();
}
catch(Exception e){;}
 
//Load
try{
   FileInputStream fis = new FileInputStream(sdpath + "/dir/file.txt");
   byte[] data = new byte[fis.available()];
   while(fis.read(data) != -1) {;}
   fis.close();
}
catch (Exception e) {;}

 


[에뮬레이터에서 SD Card 만드는 방법]

 
 
로그인 없이 추천 가능합니다. 손가락 꾸욱~

반응형

댓글