標籤:android
概述
SharedPreferences的使用非常簡單,能夠輕鬆的存放資料和讀取資料。SharedPreferences只能儲存簡單類型的資料,例如,String、int等。一般會將複雜類型的資料轉換成Base64編碼,然後將轉換後的資料以字串的形式儲存在 XML檔案中,再用SharedPreferences儲存。
使用SharedPreferences儲存key-value對的步驟如下:
(1)使用Activity類的getSharedPreferences方法獲得SharedPreferences對象,其中儲存key-value的檔案的名稱由getSharedPreferences方法的第一個參數指定。
(2)使用SharedPreferences介面的edit獲得SharedPreferences.Editor對象。
(3)通過SharedPreferences.Editor介面的putXxx方法儲存key-value對。其中Xxx表示不同的資料類型。例如:字串類型的value需要用putString方法。
(4)通過SharedPreferences.Editor介面的commit方法儲存key-value對。commit方法相當於資料庫事務中的提交(commit)操作。
使用步驟
具體代碼的書寫流程為:
A、存放資料資訊
//1、開啟Preferences,名稱為setting,如果存在則開啟它,否則建立新的Preferences
SharedPreferences settings = getSharedPreferences(“setting”, 0);
//2、讓setting處於編輯狀態
SharedPreferences.Editor editor = settings.edit();
//3、存放資料
editor.putString(“name”,”ATAAW”);
editor.putString(“URL”,”ATAAW.COM”);
//4、完成提交
editor.commit();
B、讀取資料資訊
//1、擷取Preferences
SharedPreferences settings = getSharedPreferences(“setting”, 0);
//2、取出資料
String name = settings.getString(“name”,”預設值”);
String url = setting.getString(“URL”,”default”);
//以上就是Android中SharedPreferences的使用方法,其中建立的Preferences檔案存放位置可以在Eclipse中查看:
DDMS->File Explorer /<package name>/shared_prefs/setting.xml
Demoprivate void toastDisplay() {
// 首次使用顯示提示控制
preferences = getSharedPreferences("count", 0); // 存在則開啟它,否則建立新的Preferences
int count = preferences.getInt("count", 0); // 取出資料
if (count == 0) { // 判斷程式與第幾次運行,如果是第一次運行則跳轉到引導頁面
toastInit();
SharedPreferences.Editor editor = preferences.edit(); // 讓preferences處於編輯狀態
editor.putInt("count", 1); // 存入資料
editor.commit(); // 提交修改
}
}
private void toastInit() {
// 初始使用顯示toast提示設定手勢
Toast toast = Toast.makeText(this,
"please set your gesture for first used", Toast.LENGTH_LONG);
toast.setGravity(Gravity.CENTER_HORIZONTAL | Gravity.BOTTOM, 0, 0);
toast.setMargin(0f, 0.1f);
toast.show();
}
ref:
http://blog.csdn.net/pipisorry/article/details/26874145
http://blog.csdn.net/wxyyxc1992/article/details/17222841
http://blog.csdn.net/t80t90s/article/details/7925541
http://blog.csdn.net/listening_music/article/details/6611786