前言
聲明
歡迎轉載,但請保留文章原始出處:)
正文
一、結構
public interface sharedpreferences
android.content.sharedpreferences
二、概述
注意:目前此類不支援多線程通路。後續将添加。
(譯者注:這裡譯為” 偏好設定”,類似于ini檔案,用于儲存應用程式的屬性設定)
參見
三、内部類
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對象。(譯者注:原子化——作為一個整體送出,原子性)
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類型的值。
如果preference存在,則傳回preference的值,否則傳回defvalue。如果使用此名稱的preference不是一個float類型,則抛出classcastexception。
異常
public abstract int getint (string key, int defvalue)
從preferences中擷取一個int類型的值。
如果preference存在,則傳回preference的值,否則傳回defvalue。如果使用此名稱的preference不是一個int類型,則抛出classcastexception。
public abstract long getlong (string key, long defvalue)
從preferences中擷取一個long類型的值。
如果preference存在,則傳回preference的值,否則傳回defvalue。如果使用此名稱的preference不是一個long類型,則抛出classcastexception。
public abstract string getstring (string key, string defvalue)
從preferences中擷取一個string類型的值。
如果preference存在,則傳回preference的值,否則傳回defvalue。如果使用此名稱的preference不是一個string類型,則抛出classcastexception。
public abstract void registeronsharedpreferencechangelistener (sharedpreferences.onsharedpreferencechangelistener listener)
注冊一個回調函數,當一個preference發生變化時調用。
listener 将會被調用的回調函數
參見
public abstract void unregisteronsharedpreferencechangelistener (sharedpreferences.onsharedpreferencechangelistener listener)
登出一個之前(注冊)的回調函數
listener 要被登出的回調函數
參見
五、補充
文章精選
示例代碼
譯注: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);
sharedpreferences settings = getpreferences(0);
//取得編輯對象
sharedpreferences.editor editor = settings.edit();
//添加值
editor.putboolean(“true”,flag);
//送出儲存
editor.commit();
轉載:http://www.cnblogs.com/over140/archive/2011/01/13/1934301.html