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

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

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

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

 

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

01.png

 

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

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

SharedPreferences sharedPref = getPreferences(MODE_PRIVATE);

02.png

 

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

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

03.png

 

4. 權限的種類則在Context內

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

04.png

 

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

05.png

 

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

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

06.png

 

 

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

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

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

07.png

 

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);

08.png

 

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

09.png

 

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

可以找到該SharedPreferences

10.png  

arrow
arrow

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