Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android開發系列(七):把文件存放在SDCard中

Android開發系列(七):把文件存放在SDCard中

編輯:關於Android編程

一般我們的手機應用默認的存儲空間是手機自帶的內存中,但是對於比較大的文件比如視頻、音頻來說,我們可以把它存放在SDCard中:

接下來通過代碼實現具體的把文件存放在SDCard中(僅實現了核心代碼)


首先,因為要存放在SDCard中,我們需要提供SDCard權限:

在AndroidManifest.xml中添加權限:


	
	
	


然後,在FileService.java中添加一個方法:

public void saveToSDCard(String filename,String content) throws Exception{
		//Environment.getExternalStorageDirectory()函數是為了取得SDCard的路徑
		File file = new File(Environment.getExternalStorageDirectory() ,filename);
		//打開輸出流
		FileOutputStream outStream = new FileOutputStream(file);
		//寫入內容
		outStream.write(content.getBytes());
		outStream.close();
	}
重點是:Environment.getExternalStorageDirectory()函數


最後,我們直接在點擊“保存”按鈕之後,調用按鈕的onClick()方法,在這個方法中添加:

//new一個FileService對象,getApplicationContext()返回應用的上下文,生命周期是整個應用,應用摧毀它才摧毀
FileService service = new FileService(getApplicationContext()); 
try {
        //判斷SDCard是否存在,並且可以讀寫,
	//Environment.getExternalStorageState()獲得當前狀態:
	//Environment.MEDIA_MOUNTED表示的是SDCard的狀態:存在SDCard
	if(Environment.getExternalStorageState().equals(Environment.MEDIA_MOUNTED)){
		service.saveToSDCard(filename, content); //調用save()方法保存文件
		Toast.makeText(getApplicationContext(), R.string.success, 1).show(); //調用一個Toast呈現一個“保存完成”的消息
	}else{
		Toast.makeText(getApplicationContext(), R.string.sdcarderror, 1).show(); //調用一個Toast呈現一個“SDCard不存在或者寫保護”的消息
	}
} catch (Exception e) {
	Toast.makeText(getApplicationContext(), R.string.fail, 1).show(); //調用Toast對象呈現一個“保存失敗”的消息
	e.printStackTrace();
}





  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved