標籤:
資料存放區:SharedPreferences
一、基礎概要
1、說明
1>主要用於儲存單一小資料;
2>儲存類型:boolean、float、String、long、int
3>資料儲存路徑:/data/data/packageName/shared_prefs/xxx.xml
4>應用卸載時會刪除此資料(實際上---包名檔案夾下所有資料在應用卸載是都會刪除"packageName")
5>可以設定作業資料的許可權,eg.只能是當前應用讀取--MODE_PRIVATE(預設)
MODE_WORLD_WRITEABLE
MODE_WORLD_READABLE
MODE_MULTI_PROCESS
操作資料的許可權可以通過查看源碼得到,這些注釋都寫在源碼注釋上;
2、SharedPreferences 對應sp檔案介面
---SharedPreferences context.getSharedPreferences(String name,int mode) 得到sp實作類別的對象
參數一:檔案名稱(不帶.xml,已經固定)
參數二:組建檔案模式,包括上述四種。
---Editor sp.edit() 得到Editor對象
---Xxxsp.getXxx(name,defaultValue) 根據name得到指定資料,如果得不到返回defaultValue
3、Editor 更新sp檔案介面
---Editor put(name,value) 儲存一個索引值對(但沒有真正儲存到檔案中)
---Editor remove(name)
---Editor commit() 提交,資料真正儲存到檔案中。
以上方法傳回值一樣都是Editor類型,可以搞個方法鏈調用。
二、練習
1、儲存資料步驟:
1>得到sp對象
2>得到editor對象
3>得到要儲存的資料
4>使用editor儲存資料
5>提交
2、讀取資料步驟:
1>得到要查詢資料的key
2>根據key讀取value
sp.getXxx(key,value);
三、重要代碼
儲存資料:
SharedPreferences sp=getSharedPreferences("kk", MODE_PRIVATE);
Editor ed=sp.edit();
//方法鏈調用
ed.putString("向日葵", "我是一朵美麗的向日葵")
.putString("向日葵", "我還是一朵美麗的向日葵") //覆蓋上一句value
.putString("康康", "我還是一朵美麗的向日葵")
.putInt("謝榮康", 23)
.putString("砂鍋軒","不好吃").commit();
Toast.makeText(MainActivity.this, "儲存成功", Toast.LENGTH_SHORT).show();
通過以上實驗,每一個key對應一個唯一的value;隱藏檔如下:
檔案儲存體路徑:
讀取資料:
android-資料存放區之SharedPreferences