尽量使用apply(),因为是异步的,commit()是同步的持久化存储
public void getReadInfo(){
SharedPreferences sharedPre=getSharedPreferences("config", MODE_PRIVATE);
String name=sharedPre.getString("name", "666");
String token=sharedPre.getString("token", "666");
tv_text.setText("name:"+name+"\ntoken:"+token);
Toast.makeText(this,"读取成功",Toast.LENGTH_SHORT).show();
}
//这里换成键值对的传参方式,比较灵活,可以多次调用saveinfo方法,存储多条数据
public void saveInfo(Context context, String name,String value){
//获取SharedPreferences对象
SharedPreferences sharedPre=context.getSharedPreferences("config", context.MODE_PRIVATE);
//获取Editor对象
SharedPreferences.Editor editor=sharedPre.edit();
//设置参数
editor.putString(name,value);
//提交
editor.commit();
// editor.clear();//清理数据;
// editor.remove("username");//删除username数据;
Toast.makeText(this,"保存成功",Toast.LENGTH_SHORT).show();
}
如果在 Fragment 中使用SharedPreferences 时,需要放在onAttach(Activity activity)里面进行SharedPreferences的初始化,否则会报空指针 即 getActivity()会可能返回null !
android SharedPreferences轻级存储账户信息sp
最新推荐文章于 2024-05-11 05:49:32 发布