android中sharedPreferences的用法
SharedPreferences介紹:
做軟體開發應該都知道,很多軟體會有配置檔案,裡面存放這程式執行當中的各個屬性值,由於其配置資訊並不多,如果採用資料庫來存放並不划算,因為資料庫連線跟操作等耗時大大影響了程式的效率,因此我們使用鍵值這種一一對應的關係來存放這些配置資訊。SharedPreferences正是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
主要程式碼 具體如下(僅供參考):
在onCreate方法中呼叫restorePrefs()方法:
//讀取 功能的實現
private void restorePrefs() {
// TODO Auto-generated method stub
//SharedPreferences是一種輕量級的資料儲存方式.是以鍵值對來儲存應用程式的
//配置資訊的一種方式,它只能儲存基本資料型別。
//宣告一個優先順序設定 型別 settings,載入配置檔案
SharedPreferences settings = getPreferences(BMI.MODE_PRIVATE);
//使用getXXX函式從優先順序設定讀取不同型別的內容 得到優先順序設定引數的內容
String pref_height = settings.getString(PREF_HEIGHT, "");
//此一句為喚醒記憶語句
field_height.setText(pref_height);
field_weight.requestFocus();//設定焦點欄位 到“體重”欄位上 使用者只需直接輸入體重數字就可以了
}
//儲存 在Activity每次變暗,也就是離開當前螢幕時,記住設定的身高值 即 儲存優先順序設定
protected void onPause()
{
super.onPause();
Log.v("BMI", "onPause1");
//獲得SharedPreferences物件
SharedPreferences settings = getPreferences(BMI.MODE_PRIVATE);
//獲得SharedPreferences.Editor
SharedPreferences.Editor editor = settings.edit();
//儲存元件的值 為優先順序設定填寫不同型別的內容
//用"field_height"介面元件識別符號來取得身高的字串 然後儲存到PREF_HEIGHT所代表的優先順序設定引數中
editor.putString(PREF_HEIGHT, field_height.getText().toString());
//提交儲存的結果 將改變寫到系統中
editor.commit();
}
做軟體開發應該都知道,很多軟體會有配置檔案,裡面存放這程式執行當中的各個屬性值,由於其配置資訊並不多,如果採用資料庫來存放並不划算,因為資料庫連線跟操作等耗時大大影響了程式的效率,因此我們使用鍵值這種一一對應的關係來存放這些配置資訊。SharedPreferences正是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
主要程式碼 具體如下(僅供參考):
在onCreate方法中呼叫restorePrefs()方法:
//讀取 功能的實現
private void restorePrefs() {
// TODO Auto-generated method stub
//SharedPreferences是一種輕量級的資料儲存方式.是以鍵值對來儲存應用程式的
//配置資訊的一種方式,它只能儲存基本資料型別。
//宣告一個優先順序設定 型別 settings,載入配置檔案
SharedPreferences settings = getPreferences(BMI.MODE_PRIVATE);
//使用getXXX函式從優先順序設定讀取不同型別的內容 得到優先順序設定引數的內容
String pref_height = settings.getString(PREF_HEIGHT, "");
//此一句為喚醒記憶語句
field_height.setText(pref_height);
field_weight.requestFocus();//設定焦點欄位 到“體重”欄位上 使用者只需直接輸入體重數字就可以了
}
//儲存 在Activity每次變暗,也就是離開當前螢幕時,記住設定的身高值 即 儲存優先順序設定
protected void onPause()
{
super.onPause();
Log.v("BMI", "onPause1");
//獲得SharedPreferences物件
SharedPreferences settings = getPreferences(BMI.MODE_PRIVATE);
//獲得SharedPreferences.Editor
SharedPreferences.Editor editor = settings.edit();
//儲存元件的值 為優先順序設定填寫不同型別的內容
//用"field_height"介面元件識別符號來取得身高的字串 然後儲存到PREF_HEIGHT所代表的優先順序設定引數中
editor.putString(PREF_HEIGHT, field_height.getText().toString());
//提交儲存的結果 將改變寫到系統中
editor.commit();
}
相關文章
- 深入理解Android中的SharedPreferencesAndroid
- 瞭解 Android API 中的 SharedPreferencesAndroidAPI
- Android中的資料儲存之SharedPreferencesAndroid
- Android -SharedPreferencesAndroid
- Android中SharedPreferences使用方法介紹Android
- Android 之 SharedPreferencesAndroid
- android: SharedPreferences儲存Android
- Android SharedPreferences最佳實踐Android
- Android SharedPreferences 原始碼分析Android原始碼
- Android儲存之SharedPreferencesAndroid
- Android中的Selector的用法Android
- Android 中的DisplayMetrics類的用法Android
- Android-SharedPreferences 使用詳解Android
- Android之SharedPreferences許可權Android
- Android中的ANR用法詳解Android
- Android SharedPreferences 實現原理解析Android
- Android入門教程 | SharedPreferences 簡介Android
- Android中資料儲存之SharedPreferencesAndroid
- Android中Application類用法AndroidAPP
- SharedPreferences中的commit和apply方法MITAPP
- Android中Intent的setData,setType和setDataAndType的用法AndroidIntent
- Android中Context用法詳解AndroidContext
- Android程式間通訊——多程式共用SharedPreferencesAndroid
- Android開發 - 儲存輔助類 SharedPreferences 解析Android
- Android Toolbar的用法Android
- Android SharedPreferences儲存資料使用例項分析Android
- android中string.xml中%1$s、%1$d等的用法AndroidXML
- Android shape的用法Android
- Android鍵值對儲存成XML檔案SharedPreferencesAndroidXML
- SharedPreferences詳解
- js中的this用法JS
- SQL 中With as 的用法SQL
- Oracle中with的用法Oracle
- Android資料儲存之SharedPreferences及如何安全儲存Android
- android aapt用法AndroidAPT
- android:ListView 的簡單用法AndroidView
- Android開發:LayoutParams的用法Android
- android的listview的詳細用法AndroidView