天天看點

Android四個存儲資料的SharedPreferences

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

  一、依據Context擷取SharedPreferences對象

  二、利用edit()方法擷取Editor對象。

  三、通過Editor對象存儲key-value鍵值對資料。

  四、通過commit()方法送出資料。

以下是用SharedPreferences存儲資料的一個案例:

Android四個存儲資料的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,如需轉載請自行聯系原作者