Android 如何存取 SD Card 檔案

Android 對於 SD Card 的位置,

可以用 Environment.getExternalStorageDirectory( ) 取得,

Android 對於 SD Card 是否插入,

可以用 Environment.getExternalStorageState( ) 判斷之,

Android 對於 SD Card 的存取權限, 必須有 android.permission.WRITE_EXTERNAL_STORAGE 權限:


 範例程式碼
public class helloWorld extends Activity {

public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView( R.layout.main );

Button b = (Button)this.findViewById(R.id.buttonObj);

b.setOnClickListener( new OnClickListener(){
public void onClick(View arg0) {

File vSDCard = null;

try {
// 判斷 SD Card 有無插入
if( Environment.getExternalStorageState().equals(Environment.MEDIA_REMOVED) )
return;
else
{
// 取得 SD Card 位置
vSDCard = Environment.getExternalStorageDirectory();
}

// 判斷目錄是否存在
File vPath = new File( vSDCard.getParent() + vSDCard.getName() + "/tom" );
if( !vPath.exists() )
vPath.mkdirs();

// 寫入檔案
FileWriter vFile = new FileWriter( vSDCard.getParent() + vSDCard.getName() + "/tom/myTest.txt" );
vFile.write("Hello Android");
vFile.close();

} catch (Exception e) {
// 錯誤處理
}
}
});
}
}

範例結果 :




Related Posts Plugin for WordPress, Blogger...