18 December 2010
如果想要做到儲存資訊,

且又是少量的,

如果用到sqllite又會太過於麻煩(且也會較慢)

這裡就可以用到SharedPreferences,

假設我們要做個登入介面

有個Email的欄位,

且使用者可以勾選是否要記憶住帳號及密碼,

我們就可以用SharedPreferences來做

首先我們先來做儲存資訊的function

如下:

/*
* 用來把mail存在preference裡面
*/
private final void fnStorePrefs(){
//先取得preference,且名稱為STR_PREF 的prefernce,STR_PREF 請自行宣告
final SharedPreferences settings = getSharedPreferences(STR_PREF , 0);

//然後再取得editor,為了儲存資訊
final Editor editor = settings.edit();

//把資料存進去
editor.putString(STR_PREF_EMAIL , edEmail.getText().toString());

//然後一定要commit,才會存進去
editor.commit();
}




然後再做取得資訊的function


/*
* 用來把mail從preference抓回來
*/
private final void fnRestorePrefs(){
//先取得preference,且名稱為STR_PREF 的prefernce,STR_PREF 請自行宣告
final SharedPreferences settings = getSharedPreferences(STR_PREF , 0);

//然後直接取得資料
final String strEmail = settings.getString(STR_PREF_EMAIL ,"");

//然後再放進去EditText裡面去
edEmail.setText(strEmail);
}





基本上就這二種基本的運用,一個儲存的function、一個取得的function

就看什麼時候要,什麼時候要




















blog comments powered by Disqus