Android數(shù)據(jù)存儲之SharedPreferences
SharedPreferences是以鍵值對來存儲應(yīng)用程序的配置信息的一種方式,它只能存儲基本數(shù)據(jù)類型。一個(gè)程序的配置文件僅可以在本應(yīng)用程序中使用,或者說只能在同一個(gè)包內(nèi)使用,不能在不同的包之間使用。 實(shí)際上SharedPreferences是采用了XML格式將數(shù)據(jù)存儲到設(shè)備中,在DDMS中的File Explorer中的/data/data/<package name>/shares_prefs下。
以下表格為獲取SharedPreferences對象的兩個(gè)方法:
如果要讀取配置文件信息,只需要直接使用SharedPreferences對象的getXXX()方法即可,而如果要寫入配置信息,則必須先調(diào)用SharedPreferences對象的edit()方法,使其處于可編輯狀態(tài),然后再調(diào)用putXXX()方法寫入配置信息,最后調(diào)用commit()方法提交更改后的配置文件。
以下是示例代碼:
- import android.app.Activity;
- import android.content.SharedPreferences;
- public class Calc extends Activity {
- public static final String PREFS_NAME = "MyPrefsFile";
- . . .
- @Override
- protected void onCreate(Bundle state){
- super.onCreate(state);
- . . .
- //載入配置文件
- SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
- //或者使用 SharedPreferences settings = getPreferences(0);
- boolean silent = settings.getBoolean("silentMode", false);
- setSilent(silent);
- }
- @Override
- protected void onStop(){
- super.onStop();
- //寫入配置文件??梢允褂肧haredPreferences.Editor來輔助解決。
- SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
- SharedPreferences.Editor editor = settings.edit();
- editor.putBoolean("silentMode", mSilentMode);
- editor.commit(); //一定要記得提交
- //或者再簡單化一可以這樣寫
- SharedPreferences settings = getSharedPreferences(PREFS_NAME, 0);
- setting.edit().putBoolean(“silentMode”,mSilentMode).commit();
- }
- }
【編輯推薦】