SharedPreferences詳解

正文html

  1、結構java

public interface SharedPreferencesandroid

        

android.content.SharedPreferences多線程

 

  2、概述app

  用於訪問和修改getSharedPreferences(String, int)返回偏好設置數據(preference data)的一個接口。對於任何一組特殊的preferences,全部的客戶端共享一個此類單獨的實例。函數

修改Preferences必須經過一個SharedPreferences.Editor對象,以確保當他們提交存儲數據的操做時,preference值保持一致的狀態。ui

  注意:當前此類不支持多線程訪問。後續將添加。spa

  (譯者注:這裏譯爲」 偏好設定,相似於ini文件,用於保存應用程序的屬性設置)線程

  參見指針

        getSharedPreferences(String, int)

 

  3、內部類

           interface  SharedPreferences.Editor  

  用於修改SharedPreferences對象設定值的接口。

 

  interface  SharedPreferences.OnSharedPreferenceChangeListener

  接口定義一個用於在偏好設定(shared preference)改變時調用的回調函數。

 

  4、公共方法

public abstract boolean contains (String key)

判斷preferences是否包含一個preference

參數

key 想要判斷的preference的名稱

返回值

若是preferences中存在preference,則返回true,不然返回false

 

public abstract SharedPreferences.Editor edit ()

針對preferences建立一個新的Editor對象,經過它你能夠修改preferences裏的數據,而且原子化的將這些數據提交回SharedPreferences對象。(譯者注:原子化——做爲一個總體提交,原子性)

注意:若是你想要在SharedPreferences中實時顯示,剛經過Editor對象進行的修改,那麼你必須調用commit()方法。

返回值

返回一個SharedPreferences.Editor的新實例,容許你修改SharedPreferences對象裏的值。

 

public abstract Map<String, ?> getAll ()

取得preferences裏面的全部值

返回值

返回一個map,其中包含一列preferences中的鍵值對

        異常

            空指針異常(NullPointerException)

 

public abstract boolean getBoolean (String key, boolean defValue)

從preferences中獲取一個boolean類型的值。

    參數

key            獲取的preference的名稱

defValue 當此preference不存在時返回的默認值

返回值

若是preference存在,則返回preference的值,不然返回defValue。若是使用此名稱的preference不是一個boolean類型,則拋出ClassCastException

        異常

ClassCastException   

 

public abstract float getFloat (String key, float defValue)

preferences中獲取一個float類型的值。

    參數

key            獲取的preference的名稱

defValue 當此preference不存在時返回的默認值

返回值

若是preference存在,則返回preference的值,不然返回defValue。若是使用此名稱的preference不是一個float類型,則拋出ClassCastException

異常

ClassCastException   

 

public abstract int getInt (String key, int defValue)

preferences中獲取一個int類型的值。

    參數

key            獲取的preference的名稱

defValue 當此preference不存在時返回的默認值

返回值

若是preference存在,則返回preference的值,不然返回defValue。若是使用此名稱的preference不是一個int類型,則拋出ClassCastException

異常

ClassCastException   

 

public abstract long getLong (String key, long defValue)

preferences中獲取一個long類型的值。

    參數

key            獲取的preference的名稱

defValue 當此preference不存在時返回的默認值

返回值

若是preference存在,則返回preference的值,不然返回defValue。若是使用此名稱的preference不是一個long類型,則拋出ClassCastException

異常

ClassCastException   

 

public abstract String getString (String key, String defValue)

preferences中獲取一個String類型的值。

    參數

key            獲取的preference的名稱

defValue 當此preference不存在時返回的默認值

返回值

若是preference存在,則返回preference的值,不然返回defValue。若是使用此名稱的preference不是一個String類型,則拋出ClassCastException

異常

ClassCastException   

 

public abstract void registerOnSharedPreferenceChangeListener (SharedPreferences.OnSharedPreferenceChangeListener listener)

註冊一個回調函數,當一個preference發生變化時調用。

參數

listener    將會被調用的回調函數

        參見

    unregisterOnSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener)

 

public abstract void unregisterOnSharedPreferenceChangeListener (SharedPreferences.OnSharedPreferenceChangeListener listener)

註銷一個以前(註冊)的回調函數

參數

listener    要被註銷的回調函數

參見

    registerOnSharedPreferenceChangeListener(SharedPreferences.OnSharedPreferenceChangeListener)

 

  5、補充

      文章精選

              SharedPreferences

                   [Android開發者指南第十八講:Android SharedPreferencesFile

                   SharedPreferences用法

                   Android程式設計 (十五使用SharedPreferences

    示例代碼

      譯註:Shared Preferences保存位置:/data/data/app_name/shared_prefs/*.xml

複製代碼
private   boolean  flag  =   false ;

// 取得活動的Preferences對象
SharedPreferences settings  =  getPreferences(Activity.MODE_PRIVATE);
// 取得值
flag  =  settings.getBoolean(「flag」, false );

// 取得活動的Preferences對象
SharedPreferences settings  =  getPreferences( 0 );
// 取得編輯對象
SharedPreferences.Editor editor  =  settings.edit();
// 添加值
editor.putBoolean(「 true 」,flag);
// 提交保存
editor.commit();
複製代碼
相關文章
相關標籤/搜索