SharedPreferences是使用键值对来存储数据的
一、将数据存储到SharedPreferences中
得到SharedPreferences对象(这里有三种方法)
1、Context类中的getSharedPreferences()方法
参数:两个参数。①SharedPreferences文件的名称。用于指定SharedPreferences文件的名称,如果指定的文件不存在则会创建一个,SharedPreferences文件都是存放在/data/data//shared_prefs/目录下面; ②操作模式,目前只有MODE_PRIVATE这一种模式可选。用于指定操作模式,MODE_PRIVATE是默认的操作模式,和直接传入0效果一样,表示只有当前的应用程序才可以对这个SP文件进行读写。
2、Activity类中的getPreferences()方法
参数:一个参数,即操作模式。因为这个方法会自动将当前活动的类名作为SP的文件名。
3、PreferenceManager类中的getDefaultSharedPreferences()方法
参数:一个参数,Context参数。自动使用当前应用程序的包名作为前缀来命名SharedPreferences文件。
向SharedPreferences文件中存储数据
第一步:调用SharedPreferences对象的edit()方法来获取一个SharedPreferences.Editor对象
第二步:向SharedPreferences.Editor对象中添加数据,比如添加一个布尔型数据就使用putBoolean()方法,添加一个字符串则使用putString()方法
第三步:调用apply()方法将添加的数据提交,完成数据存储操作
以下是SharedPreferences代码的应用:
public class NotifyAdapter extends RecyclerView.Adapter {
private LayoutInflater mInflater;
private List<PackageInfo> pkgList;
private PackageManager pm;
private SharedPreferences sharedPreferences;
private SharedPreferences.Editor editor;
public NotifyAdapter(Context context, List<PackageInfo> pkgList) {
this.mInflater = LayoutInflater.from(context);
this.pkgList = pkgList;
this.pm = context.getPackageManager();
sharedPreferences = context.getSharedPreferences("notifyflag", Context.MODE_PRIVATE); //得到SharedPreferences对象
edi