編輯:Android開發實例
前言
本章內容是android.content.SharedPreferences,版本為Android 2.3 r1,翻譯來自"madgoat"。
正文
一、結構
public interface SharedPreferences
android.content.SharedPreferences
二、概述
用於訪問和修改getSharedPreferences(String, int)返回偏好設置數據(preference data)的一個接口。對於任何一組特殊的preferences,所有的客戶端共享一個此類單獨的實例。
修改Preferences必須通過一個SharedPreferences.Editor對象,以確保當他們提交存儲數據的操作時,preference值保持一致的狀態。
注意:當前此類不支持多線程訪問。後續將添加。
(譯者注:這裡譯為” 偏好設定”,類似於ini文件,用於保存應用程序的屬性設置)
參見
getSharedPreferences(String, int)
三、內部類
interface SharedPreferences.Editor
用於修改SharedPreferences對象設定值的接口。
interface SharedPreferences.OnSharedPreferenceChangeListener
接口定義一個用於在偏好設定(shared preference)改變時調用的回調函數。
四、公共方法
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)
五、補充
示例代碼
譯注:Shared Preferences保存位置:/data/data/app_name/shared_prefs/*.xml
private boolean flag = false;程序員很多,遍地都是,高手也很多,但是懂設計的程序員並不多,我覺得我們不僅要成為一個coder還要成為一個designer。 我是一個比較注重ued的人,如果對一
吸引用戶的眼球,是我們至死不渝的追求;第一時間呈現最有價值的信息,簡明大方,告訴客戶,你的選擇是多麼的明智,這正是你尋覓已久的東西。 分組的應用場合還是很多的,有
本文實例講述了Android使用WebView播放flash及判斷是否安裝flash插件的方法。分享給大家供大家參考。具體實現方法如下: 一、問題: 最近幫一個同
JSON代表JavaScript對象符號。它是一個獨立的數據交換格式,是XML的最佳替代品。本章介紹了如何解析JSON文件,並從中提取所需的信息。Android提供了四個