1、android 中 SharedPreferences 自动会以XML方式保存在程序的根目录下中。
2、自动生产的XML文件内容:
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="name">nihao</string>
<int name="age" value="450" />
</map>
3、偏好数据操作实现:
private Context context;
public Sharedservice(Context context) {
this.context = context;
}
/**
* 偏好数据保存
* @param name
* @param age
*/
public void save(String name, int age) {
// TODO Auto-generated method stub
SharedPreferences ps=context.getSharedPreferences("itcast",Context.MODE_PRIVATE);
Editor ed=ps.edit();
ed.putString("name",name);
ed.putInt("age",age);
ed.commit();
}
/**
* 返回全部偏好数据
* @return
*/
public Map<String,String> reads(){
Map<String,String> pars=new HashMap<String,String>();
SharedPreferences ps=context.getSharedPreferences("itcast",Context.MODE_PRIVATE);
pars.put("name", ps.getString("name", ""));
pars.put("age",String.valueOf(ps.getInt("age", 0)));
return pars;
}
4、调用上面的实现:
EditText Ename;
EditText EAge;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Ename=(EditText)this.findViewById(R.id.editName);
EAge=(EditText)this.findViewById(R.id.editAge);
login();
}
/**
* 调用保存
* @param v
*/
public void save(View v){
Sharedservice share=new Sharedservice(this);
int age=Integer.parseInt(EAge.getText().toString());
Log.i("ddddd",EAge.getText().toString());
share.save(Ename.getText().toString(), age);
//Toast.makeText(this,"保持成功",1);
}
/**
* 调用初始化
*/
public void login(){
Sharedservice share=new Sharedservice(this);
Map<String,String> ys=share.reads();
Ename.setText(ys.get("name"));
EAge.setText(ys.get("age"));
}