SharedPreferences是Android SDK中最容易理解和使用的存储技术。保存key-value对首先要指定一个文件名,然后使用putString的方法指定key和value。SharedPreferences也采用了同样的方法。
- 使用Activity.getSharedPreferences方法获得SharedPreferences对象。其中存储key-value的文件名称由getSharedPreferences方法的第一个参数指定。
- 使用SharedPreferences.edit方法获得SharedPreferences.Edit对象。
- 通过SharedPreferences.Editor.putXxx方法保存key-value对。
- 通过SharedPreferences.Editor.commit方法key-value对。commit方法相当于数据库事件中的提交(commit)操作,只有在任务结束后提交,才会将数据真正保存在数据库中。保存key-value也是一样,在使用putXxx方法指定了key-value对后,必须调用commit方法才能将key-value对真正保存在相应的文件中。
public class MainActivity extends Activity {
private Button bt;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//获得SharedPreferences 对象
SharedPreferences sharedPreferences=getSharedPreferences("test", Activity.MODE_PRIVATE);
//获得SharedPreferences.Editor
SharedPreferences.Editor editor=sharedPreferences.edit();
//获得putXxx对象
editor.putString("name", "李玲");
editor.putString("habit", "Android、写作、旅游");
//将数据库保存在文件中
editor.commit();
bt =(Button) findViewById(R.id.bt);
bt.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View arg0) {
// TODO Auto-generated method stub
SharedPreferences sharedPreferences1=getSharedPreferences("test", Activity.MODE_PRIVATE);
String name=sharedPreferences1.getString("name", "");
String habit=sharedPreferences1.getString("habit", "");
Toast.makeText(MainActivity.this, "name"+name+"\n"+"habit"+habit,Toast.LENGTH_LONG).show();
}
});
}