數(shù)據(jù)存儲與訪問常用方式:
文件
SharedPreferences(偏好參數(shù)設(shè)置)
SQLite數(shù)據(jù)庫
內(nèi)容提供者(Content provider)
網(wǎng)絡(luò)
Activity(Context)
Context.getCacheDir()方法用于獲取/data/data/<package name>/cache目錄
Context.getFilesDir()方法用于獲取/data/data/<package name>/files目錄
Activity(Context)提供了openFileOutput(filename,mode)方法用于把數(shù)據(jù)輸出到文件中;
第一個參數(shù)用于指定文件名稱,不能包含路徑分隔符‘/'
第二個參數(shù)為操作模式:
Context.MODE_PRIVATE:私有操作模式創(chuàng)建出來的文件只能被本程序訪問,如果文件不存在,會自動創(chuàng)建,另外:寫入文件中的內(nèi)容會覆蓋原文件的內(nèi)容;
Context.MODE_APPEND:模式會檢查文件是否存在,如果存在則會追加內(nèi)容,否則創(chuàng)建新文件;
Context.MODE_READABLE:表示當(dāng)前文件可以被其它應(yīng)用讀取;
Context.MODE_WRITEABLE:表示當(dāng)前文件可以被其它應(yīng)用寫入;
如果希望文件被其它應(yīng)用讀和寫:傳入(Context.MODE_READABLE+Context.MODE_WRITEABLE)
FileOutputStream outStream = context.openFileOutput(filename,Context.MODE_PRIVATE);
//param 文件名稱,操作方式
android有一套自己的安全模型,當(dāng)應(yīng)用程序(.apk)在安裝時系統(tǒng)會分配給一個userid,當(dāng)該應(yīng)用去訪問其它資源如文件的時候,會進行 userid的匹配,默認情況下任何應(yīng)用創(chuàng)建的文件,sharedpreferences,數(shù)據(jù)庫都是私有的(創(chuàng)建的文件保存在/data/data /<package name>/files目錄下),只有指定操作模式為外部可讀或?qū)懖趴梢员黄渌绦蛟L問;
讀取文件:
<1>
FileInputStream inStream = context.openFileInput(filename);
Log.i(TAG,inStream....)
<2>
path="/data/data/<package name>/files/hello.txt";
File file = new File(path);
FileInputStream inStream = new FileInputStream(file);
Log.i(TAG,inStream....)
ctrl + shift + x/y 大小寫
新聞熱點
疑難解答
圖片精選