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下導出該文件,並查看。
那麼已經保存好的數據如何讀取出來呢。我們來看:
復制代碼 代碼如下:
[code]
//同樣,在讀取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();
}
}
圖1.1 程序執行結果