正文html
1、結構java
public interface SharedPreferencesandroid
android.content.SharedPreferences多線程
2、概述app
用於訪問和修改getSharedPreferences(String, int)返回偏好設置數據(preference data)的一個接口。對於任何一組特殊的preferences,全部的客戶端共享一個此類單獨的實例。函數
修改Preferences必須經過一個SharedPreferences.Editor對象,以確保當他們提交存儲數據的操做時,preference值保持一致的狀態。ui
注意:當前此類不支持多線程訪問。後續將添加。spa
(譯者注:這裏譯爲」 偏好設定」,相似於ini文件,用於保存應用程序的屬性設置)線程
參見指針
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。
異常
public abstract float getFloat (String key, float defValue)
從preferences中獲取一個float類型的值。
參數
key 獲取的preference的名稱
defValue 當此preference不存在時返回的默認值
返回值
若是preference存在,則返回preference的值,不然返回defValue。若是使用此名稱的preference不是一個float類型,則拋出ClassCastException。
異常
public abstract int getInt (String key, int defValue)
從preferences中獲取一個int類型的值。
參數
key 獲取的preference的名稱
defValue 當此preference不存在時返回的默認值
返回值
若是preference存在,則返回preference的值,不然返回defValue。若是使用此名稱的preference不是一個int類型,則拋出ClassCastException。
異常
public abstract long getLong (String key, long defValue)
從preferences中獲取一個long類型的值。
參數
key 獲取的preference的名稱
defValue 當此preference不存在時返回的默認值
返回值
若是preference存在,則返回preference的值,不然返回defValue。若是使用此名稱的preference不是一個long類型,則拋出ClassCastException。
異常
public abstract String getString (String key, String defValue)
從preferences中獲取一個String類型的值。
參數
key 獲取的preference的名稱
defValue 當此preference不存在時返回的默認值
返回值
若是preference存在,則返回preference的值,不然返回defValue。若是使用此名稱的preference不是一個String類型,則拋出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、補充
示例代碼
譯註:Shared Preferences保存位置:/data/data/app_name/shared_prefs/*.xml