除了SQLite外部資料庫。SharedPreferences它是一個輕量級的資料存儲,其本質是基于XML檔案存儲key-value鍵值資料,通過定期用它來存儲一些簡單的配置資訊。它的存儲位置/data/data/< >/shared_prefs檔案夾下。SharedPreferences對象本身僅僅能擷取資料而不支援存儲和改動,存儲改動是通過Editor對象實作。實作SharedPreferences存儲的過程例如以下:
一、依據Context擷取SharedPreferences對象
二、利用edit()方法擷取Editor對象。
三、通過Editor對象存儲key-value鍵值對資料。
四、通過commit()方法送出資料。
以下是用SharedPreferences存儲資料的一個案例:

點選開啟開啟WiFi。設定進度條,儲存狀态,下次打開此程式,将顯示上次儲存的狀态。
核心code例如以下:
*/
//sharedPreferences存儲資料的步驟:
//1.依據context擷取SharedPreferences對象
final SharedPreferences preferences=MainActivity.this.getSharedPreferences("setting",MODE_PRIVATE );
//點選發生狀态改變的時候。調用對應的方法
checkBox.setOnCheckedChangeListener(new OnCheckedChangeListener(){
@Override
public void onCheckedChanged(CompoundButton buttonView,
boolean isChecked) {
//2.通過SharedPreferences擷取editor對象(對資料存儲改動的對象)
Editor editor=preferences.edit();
//3.通過editor對象存儲key-value鍵值對資料
editor.putBoolean("wifi", isChecked);
//4.通過commit方法送出資料
editor.commit();
}
});
//當點開目前頁面的時候,從preferences中擷取目前的的wifi開啟狀态
Boolean boolean1 = preferences.getBoolean("wifi", false);
checkBox.setChecked(boolean1);
//當seekbar在移動的時候對其做一個監聽
this.seekBar.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
public void onStopTrackingTouch(SeekBar seekBar) {
// 進度條停止的時候
public void onStartTrackingTouch(SeekBar seekBar) {
// 進度條開始移動
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
// 進度條運動後(在移動)
editor.putInt("seek", progress);
int progress=preferences.getInt("seek", 0);
this.seekBar.setProgress(progress);
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
本文轉自mfrbuaa部落格園部落格,原文連結:http://www.cnblogs.com/mfrbuaa/p/5044254.html,如需轉載請自行聯系原作者