dhroid - Perference

时间:2023-01-16 19:57:31

SharedPreferences 是我们开发android使用很多的工具
通常我们是这样使用的

SharedPreferences share=getSharedPreferences("name", MODE_WORLD_WRITEABLE);
//存数据
share.edit().putString("key", "value").commit();
//获取数据
String val=share.getString("key", "def");

你有遇到不知道 SharedPreferences 存了多少key吗,感觉管理起来不方便,用户切换账号后SharedPreferences 有些数据不对

下面我将SharedPreferences管理起来 我们这样写

public class DemoPerference extends Perference{
//必须是public的属性不然不会赋值的
public String username;
public int uid;
public Student student;
//不需要set get }

//写一个类继承自Perference
里面的属性就是我们可以存入到SharedPreferences的值
使用(我这边还是使用ioc,你可以使用单例)

@Inject
DemoPerference demoPerference; IocContainer.getShare().get(DemoPerference.class); 从 [size=1em]SharedPreferences加载数据
demoPerference.load();

提交数据

demoPerference.account=accountV.getText().toString();
Student student=new Student();
student.setName(stuNameV.getText().toString());;
demoPerference.student=student;
demoPerference.uid=Integer.parseInt(uidV.getText().toString());
demoPerference.username=nameV.getText().toString();
demoPerference.commit();
dialoger.showToastShort(this, "提交成功,换个account试试");

大家注意没有它而且支持负责对象,不单单是基本格式了,如属性student

perferenct 有个默认属性 account account 有个默认值 account不同加载的数据就不同