儲存方式:SharedPreferences、sqlite、檔案儲存體、網路儲存
SharedPreferences:
通過NVP(索引值對)方式儲存在android檔案系統中,可以在不同的應用程式之間進行資料共用
支援的模式:私人MODE_PRIVATE/全域讀MODE_WORLD_READABLE/全域寫MODE_WORLD_WRITEABLE
聲明讀寫:MODE_WORLD_READABLE + MODE_WORLD_WRITEABLE
通過名字來區分位置[若NVP中的name相同,儲存到相同的檔案中]
*聲明對象方法getSharedPreferences(String sharedName, int mode)
SharedPreferences.Editor 類完成資料的修改;
通過SharedPreferences的edit()方法來擷取Editor對象,在修改結束後使用方法commit()方法儲存修改;
通過Editor對象的put方法進行資料添加儲存,SharedPreferences支援基礎資料型別 (Elementary Data Type);
通過SharedPreferences對象的get方法來擷取資料;
需要提供給另個一app使用,在擷取SharedPreferences之前,需要擷取提供資料的app的Context,使用Activity
的createPackageContext(String appName, int security)方法建立包環境Context,參數appName為包名,
SharedPreferences在擷取資料時,通過包名識別檔案;
*getString("name", "default name")讀取資料
預設儲存的為xml檔案
*檔案儲存在/data/data/<package name>/shared_prefs目錄下
檔案儲存體:
預設存放於/data/data/<package name>/files目錄當中;
openFileOutput(String fileName, int mode)開啟檔案輸出資料流,若檔案不存在,則建立一個檔案;
openFileInput(String fileName)
可以使用java api來對檔案進行操作;
檔案操作模式:MODE_PARIVATE/MODE_APPEND/MODE_WORLD_READABLE/MODE_WORLD_WRITEABLE
sd卡儲存:
在運行時配置中的target選項卡,中配置sdcard路徑【-sdcard 路徑】
IO操作:使用[絕對目錄+檔案名稱]進行操作
命令列方法:adb push[pull] mnt/sdcard 分隔字元‘/’
在sdcard中進行檔案操作的時候路徑使用 "sdcard/"
操作sdcard中的檔案需要在manifest檔案中進行使用權限設定
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
設定完成許可權後,使用java api進行操作;
資源檔:
res/raw 目錄下存放音頻、視頻、圖片等資源
res/xml 在打包時編譯成二進位檔案
讀取res/raw目錄下的資源:
讀取getResource()方法擷取資來源物件,再調用openRawResuource()方法,以二進位流的形式開啟指定的原始格式檔案;
讀取res/xml目錄下的xml檔案:
調用getXml()方法,擷取xml解析器,XmlPullParser讀取xml檔案
寫入xml檔案使用XmlSerializer寫xml檔案
sqlite:
輸入sqlite3可以啟動sqlite3工具,並獲得工具的版本資訊;
輸入adb shell可以進入shell命令;
儲存在/data/data/<package name>/databases目錄下
.tables命令顯示當前資料庫中的所有表
.schema 表名 命令查看錶情況
mode 命令支援常見到惡column格式
.database 命令顯示資料庫名稱和檔案位置
SQLiteDatabase用以建立、刪除資料庫,執行sql命令,對資料進行管理等工作;
SQLiteOpenHelper可以輔助建立、更新、開啟資料庫;
SQLiteOpenHelper的getWritableDatabase()和getReadableDatabase()方法擷取資料庫類SQLiteDatabase;
記事本程式: