SharedPreferences用于保存少量的信息,SharedPreferences对象本身不支持存储和修改,存储修改的主要操作依靠SharedPreference.edit()获取的内部Editor对象完成的。
例子:电商平台第一次填写送货地址后,第二次进入填写地址界面直接使用保存好的地址。像地址这样小的信息,一般使用SharedPreferences保存
private Button msave; private Button mdel; private EditText metname; private EditText metaddr;
private void initDate() { //创建一个SharedPreferences接口对象 SharedPreferences read=getSharedPreferences("user",MODE_PRIVATE); //获取文件中的值 String name=read.getString("name",""); String address=read.getString("address",""); if(name.equals("")&&address.equals("")){ Toast.makeText(this,"没有数据",Toast.LENGTH_SHORT).show(); } else { metname.setText(name); metaddr.setText(address); Toast.makeText(this,"您使用了sharedpreference的初始化数据",Toast.LENGTH_SHORT).show(); } }初始化数据,得到输入的数据并存入metname和metaddr中。
@Override public void onClick(View v) { //创建一个SharedPreferences.Editor接口对象,user表示要写入的XML文件名 SharedPreferences.Editor editor=getSharedPreferences("user",MODE_PRIVATE).edit(); switch (v.getId()){ case R.id.btn_save: String name=metname.getText().toString(); String address=metaddr.getText().toString(); editor.putString("name",name); editor.putString("address", address); editor.commit(); Toast.makeText(this,"您使用了sharedpreference的保存数据",Toast.LENGTH_SHORT).show(); break; case R.id.btn_del: editor.clear(); editor.commit(); Toast.makeText(this,"您删除了sharedpreference的数据",Toast.LENGTH_SHORT).show(); break; } }若是“保存”按钮,则将metname和metaddr中的数据存入 SharedPreference.Editor对象中,并使用putxxx()方法以及commit()方法。若是“删除”按钮,则调用clear()方法并commit。