編輯:關於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(); }
遇到的問題如下:java.lang.NullPointerException: Attempt to invoke virtual method ‘void
+ code); if (code == 200) { InputStream is = conn.getInputStream();
本文實例講述了Android編程學習之異步加載圖片的方法。分享給大家供大家參考,具體如下:最近在android開發中碰到比較棘手的問題,就是加載圖片內存溢出。我開發的是一
前言: 目前網上有很多圓角圖片的實例,Github上也有一些成熟的項目。之前做項目,為了穩定高效都是選用Github上的項目直接用。但這種結束也是Android開發必備技