Android SharedPreferences 適用於小的資料存在硬體中

不會因為重開機或斷電而跑掉

它會以xml的方式存在data/data/package/sharaed_prefs內

以下就介紹基本的存取方式

 

1. 官網有簡短介紹 https://developer.android.com/training/basics/data-storage/shared-preferences.html#GetSharedPreferences

 

2. 先創ㄧ個專案, 使用時就直接宣告

參數是帶可存取的權限設定

SharedPreferences sharedPref = getPreferences(MODE_PRIVATE);

 

3. 如果有需要建立不同的則在前面多ㄧ個string當檔名

SharedPreferences sharedPref = getSharedPreferences("name", MODE_PRIVATE);

 

4. 權限的種類則在Context內

http://developer.android.com/reference/android/content/Context.html

 

5. 基本有幾下幾種類型
  // MODE_APPEND : 不存在就新增, 存在就從檔案結尾加入
  // MODE_MULTI_PROCESS : 檔案可以同時被被同來源修改或查看
  // MODE_PRIVATE : 寫入如何都會重頭開始寫入資料, 只能被APP本身使用
  // MODE_WORLD_READABLE : 可被其他APP所讀取, 於API 17後廢除
  // MODE_WORLD_WRITEABLE : 可被其他APP所寫入, 於API 17後廢除

 

6. 寫檔的時候需要用它的editor

http://developer.android.com/reference/android/content/SharedPreferences.Editor.html

 

 

7. 它是以key - value 的方式來存

最後需要執行commit才會將檔案寫入

  SharedPreferences.Editor editor = sharedPref.edit();
  editor.putInt("write int", 100);
  editor.putString("write String", "寫入值");
  editor.commit(); //這步執行後資料才會寫入

 

8. 讀檔的時候直接用get資料型態(Key, 預設值)的方式來取

  int saveInt = sharedPref.getInt("write int", 0);
  String saveString = sharedPref.getString("write String", "default");
  Log.d("MainActivity", "saveInt = " + saveInt);
  Log.d("MainActivity", "saveString = " + saveString);

 

9. 最後可以從Log看到執行結果

 

10. 最後在以xml的方式存在data/data/package/sharaed_prefs內

可以找到該SharedPreferences

 

文章標籤
全站熱搜
創作者介紹
創作者 RX1226 的頭像
RX1226

給你魚竿

RX1226 發表在 痞客邦 留言(0) 人氣(2,837)