Android:SharedPreferences詳解+示例

1、簡介
SharedPreferences是一種輕型的數據存儲方式,它的本質是基於XML文件存儲key-value鍵值對數據,一般用來存儲一些簡單的配置信息。 java

2、存儲位置
在/data/data/<包名>/shared_prefs目錄下。
編輯器

3、操做數據
SharedPreferences對象自己只能獲取數據而不支持存儲和修改,存儲修改是經過Editor對象實現。
具體操做過程:
ide

一、根據Context獲取SharedPreferences對象
二、利用edit()方法獲取Editor對象。
三、經過Editor對象存儲key-value鍵值對數據。
四、經過commit()方法提交數據。 函數

4、實例代碼 this

public class SharePreActivity extends Activity {

    @Override
      public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.main);
         
         //獲取SharedPreferences對象
         Context ct = SharePActivity.this;       
         SharedPreferences sp = ct.getSharedPreferences("MY_PRE", MODE_PRIVATE);
        //存入數據
        Editor editor = sp.edit();
        editor.putString("STR_KEY", "string");
        editor.putInt("INT_KEY", 1);
        editor.putBoolean("BOO_KEY", true);
        editor.commit();
        
        //返回STRING_KEY的值,定義key值錯誤或者此key無對應value值的話返回""
        Log.d("look_sharePre", sp.getString("STR_KEY", ""));
        //若是OTHER_KEY不存在,定義key值錯誤或者此key無對應value值的返回值爲"other"
        Log.d("look_sharePre", sp.getString("OTHER_KEY", "other"));
     }
 }

 注:在私有目錄下生成一個MY_PRE.xml文件,裏面採用鍵值對的形式存儲數據。     spa

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
 <map>
 <string name="STR_KEY">string</string>
 <int name="INT_KEY" value="1" />
 <boolean name="BOO_KEY" value="true" />
 </map>

5、方法詳解 code

一、getSharedPreferences(String name, int mode)的兩個參數的:
    參數1:name, 存儲時的名稱,好比這裏的"MY_PRE";

    參數2:mode,打開方式,通常都用Activity.MODE_PRIVATE、MODE_PRIVATE xml

二、registerOnSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener          listener)
    註冊一個當preference發生改變時被調用的回調函數 對象

三、unregisterOnSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener      listener):
    刪除當前回調函數 接口

四、SharedPreferences.Editor接口
     用於修改SharedPreferences對象的內容,全部更改都是在編輯器所作的批處理,而不是複製回原來的SharedPreferences或持久化存儲,直到你調用commit(),纔會永久存儲。
   

方法說明:
clear():清除內容。
commit():提交修改
remove(String key):刪除preference

6、擴展功能

一、音效設置
保存應用程序當前是否 播放音效的狀態。當前音效狀態處於關閉時,按「+」鍵來開啓音效,而後點擊返回按鈕退出程序 ,再次啓動應用程序,如今的音效狀態就處於開的狀態。保存操做是放在 back按鈕的監聽事件裏邊完成的。 在這個程序中咱們在退出時把音效狀態保存到 Preferences 中,所以在啓動時就讀取出上次保存的數據。上次保存的是什麼狀態 ,在打開的時候就是什麼狀態。

二、記住密碼

相關文章
相關標籤/搜索