編輯:關於Android編程
一般我們的手機應用默認的存儲空間是手機自帶的內存中,但是對於比較大的文件比如視頻、音頻來說,我們可以把它存放在SDCard中:
接下來通過代碼實現具體的把文件存放在SDCard中(僅實現了核心代碼)
首先,因為要存放在SDCard中,我們需要提供SDCard權限:
在AndroidManifest.xml中添加權限:
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();
}
android學習——文件下載遇到的問題及解決辦法
遇到的問題如下:java.lang.NullPointerException: Attempt to invoke virtual method ‘void
Android--消息機制--handler--getImageFromUrl--網絡上獲取圖片
+ code); if (code == 200) { InputStream is = conn.getInputStream();
Android編程學習之異步加載圖片的方法
本文實例講述了Android編程學習之異步加載圖片的方法。分享給大家供大家參考,具體如下:最近在android開發中碰到比較棘手的問題,就是加載圖片內存溢出。我開發的是一
Android 兩種制作圓形/圓角圖片的方法
前言: 目前網上有很多圓角圖片的實例,Github上也有一些成熟的項目。之前做項目,為了穩定高效都是選用Github上的項目直接用。但這種結束也是Android開發必備技