1. 程式人生 > >Android應用開發SharedPreferences儲存資料的使用方法

Android應用開發SharedPreferences儲存資料的使用方法

SharedPreferences是Android中最容易理解的資料儲存技術,實際上SharedPreferences處理的就是一個key-value(鍵值對)SharedPreferences常用來儲存一些輕量級的資料
//例項化SharedPreferences物件(第一步) 
SharedPreferences mySharedPreferences= getSharedPreferences("test", 
Activity.MODE_PRIVATE); 
//例項化SharedPreferences.Editor物件(第二步) 
SharedPreferences.Editor editor = mySharedPreferences.edit(); 
//用putString的方法儲存資料 
editor.putString("name", "Karl"); 
editor.putString("habit", "sleep"); 
//提交當前資料 
editor.commit(); 
//使用toast資訊提示框提示成功寫入資料 
Toast.makeText(this, "資料成功寫入SharedPreferences!" , 
Toast.LENGTH_LONG).show(); 

執行以上程式碼,SharedPreferences將會把這些資料儲存在test.xml檔案中,可以在File Explorer的data/data下匯出該檔案,並檢視。
那麼已經儲存好的資料如何讀取出來呢。我們來看:
//同樣,在讀取SharedPreferences資料前要例項化出一個SharedPreferences物件 
SharedPreferencessharedPreferences= getSharedPreferences("test", 
Activity.MODE_PRIVATE); 
// 使用getString方法獲得value,注意第2個引數是value的預設值 
String name =sharedPreferences.getString("name", ""); 
String habit =sharedPreferences.getString("habit", ""); 
//使用toast資訊提示框顯示資訊 

Toast.makeText(this, "讀取資料如下:"+"\n"+"name:" + name + "\n" + "habit:" + habit, 
Toast.LENGTH_LONG).show(); 

完整程式碼: ---------------------------------------------------
public class Main extends Activity 
{ 
@Override 
public void onCreate(Bundle savedInstanceState) 
{ 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 
} 

public void onClick_WriteData(View view) 
{ 
SharedPreferences mySharedPreferences = getSharedPreferences("test", 
Activity.MODE_PRIVATE); 
SharedPreferences.Editor editor = mySharedPreferences.edit(); 
editor.putString("name", "karl"); 
editor.putString("habit", "sleep"); 
editor.commit(); 
Toast.makeText(this, "資料成功寫入SharedPreferences!" , 
Toast.LENGTH_LONG).show(); 

} 
public void onClick_ReadData(View view) 
{ 
SharedPreferences sharedPreferences = getSharedPreferences("test", 
Activity.MODE_PRIVATE); 
String name = sharedPreferences.getString("name", ""); 
String habit = sharedPreferences.getString("habit", ""); 

Toast.makeText(this, "讀取資料如下:"+"\n"+"name:" + name + "\n" + "habit:" + habit, 
Toast.LENGTH_LONG).show(); 

} 
}