SharePreferences是Android上一个轻量级的类,存储一些配置参数之类的数据。比如username,password等SharePreferences的数据保存形式是key/value,保存在XML文件中。
使用该类时,首先要实例化对象(用context.getSharePreferences(String name,int mode)获取),在Activity中,可以直接用this来代表上下文,其他情况则需要传入一个Context对象来获取上下文。例如:
SharePreferences sp=context.getSharePreferences(String name,int mode);//name表示文件名,mode表示文件操作模式
在上述例子中,mode可以有多种形式:MODE_PRIVATE(数据只能被本应用读写),MODE_APPEND(文件内容可以追加),MODE_WORLD_READABLE(数据可以被其他应用读),MODE_WORLD_WRITEABLE(数据可以被其他应用写),具体如下图
要注意的是, SharePreferences对象本身只能获取数据,不支持存储修改等操作,想要实现这些功能就需要通过SharePreferences.Editor()来实现,此对象也需要先实例化,用 SharePreferences.Editor edit()方法。具体如下图
用一个例子演示一下,先SharePreferences获取对象,然后通过对象获取Editor对象,最后通过Editor对象的方法存储数据。
一.获取对象
SharePreferences sp=getSharepreferences("文件名",MODE_PRIVATE);//创建对象
Editor edior=sp.edit();//打开编辑器
editor.putString("name","abc公司");
editor.commit()//提交修改
SharePreferences sp=context.getSharePreferences();
string data=sp.getString("name","");//获取用户名
SharePreferences sp=context.getSharePreferences();
Editor editor=sp.edit();
editor.remove("name");//删除一条数据
editor.clear();//删除所有数据
editor.commit();//提交修改
切记一定存储数据时,要在最后添加commit()提交数据