1、使用內部儲存器
2、使用外部儲存器
寫入私有檔案
讀取私有檔案
讀取raw檔案
public void readrawfileclick(view v)
in.close();
toast.maketext(this,sb,toast.length_short).show();
} catch (filenotfoundexception e) catch (ioexception e)
}
效果展示
寫入私有快取資料
訪問sdcard路徑以前的android(4.1之前的版本)中,sdcard路徑通過「/sdcard」或者「/mnt/sdcard」來表示,而在jelly bean系統中修改為了「/storage/sdcard0」,以後可能還會有多個sdcard的情況。為了使**更加健壯並能相容以後的android版本和新裝置,請通過environment.getexternalstoragedirectory().getpath()來獲取sdcard路徑。
public void issdcardclick(view v)else
}else
}
再次注意,getexternalfilesdir(),這個方法,不一定總能夠訪問sd卡中的訊息。
如果裝置自身已經有了一部分內部儲存當做外部儲存,那這個方法就不能訪問到sd。
當使用者解除安裝應用程式,android系統刪除以下:
(1)你儲存在內部儲存的所有檔案
(2)所有使用本應用外部儲存的私有檔案
(三)查詢空閒空間
如果你事先知道要儲存的資料量的大小,你就可以先查詢一下可用空間有多少,這樣就可以避免ioexception,可用的方法是:
getfreespace()—返回剩餘空間
gettotalspace()—返回總空間
但是返回的可用空間大小,並不說明,你就可以存入那麼多的資料。如果空間比你要存入的資料大幾m,或者空間被佔用率小於90%,都還可以,反之,就未必能存入。
並不需要每次存檔案之前都來這麼個判斷,加個異常捕捉就ok。而且,你也未必知道你要存入的資料有多大,你想判斷,也沒法判斷的,所以能catch這個ioeception就行。
安卓學習日記 記憶體管理技巧
如果應用程式當中需要使用service來執行後台任務的話,請一定要注意只有當任務正在執行的時候才應該讓service執行起來。另外,當任務執行完之後去停止service的時候,要小心service停止失敗導致記憶體洩漏的情況。當我們啟動乙個service時,系統會傾向於將這個service所依賴的程...
安卓日記 Realm快速上手
realm作為一種新興的資料庫以其 的速度吸引了我們,擺圖看看它有多快 力壓主流sqlite,所以學習realm就很有必要了 classpath io realm realm gradle plugin 1.0 1 新增後效果如下 buildscript dependencies realmconf...
安卓快取檔案
首先我們要弄清楚幾個概念 getcachedir data data getfilesdir data data 一般來說,上面這兩個目錄是使用者不可見的,屬於應用內部,比如webview等一些快取就存放於getcachedir 我是分割線 getexternalfilesdir sdcard an...