在一个App中,我本来想声明一个静态变量来存储一个数据(姑且称为D),
这样的话即使App退出再进来还是按照这个变量的上一次的值来使用。但是这样的话,不能很好的顺应App的生命周期,没有什么美感,比较生硬。
如果使用SharedPreferences来存储的话,在一个app 使用Back键退出的时候,即执行了OnDestroy()函数。在该函数中可以把我们想要继续保留该种
状态的变量使用SharedPreferences存储起来,然后在D需要使用的地方再使用SharedPreferences读取就可以了。这样顺应App生命周期,同时也算
是使用了SharedPreferences,挺好。
看着书不知什么味道,用起来后再看理论比较好理解,
1、存储
getSharedPreferences("localmm_sharedPreferences", Context.MODE_PRIVATE).edit().putInt("listOrGridFlag", videoGridandListFlag).commit();
2、读取
isOrNotGridViewFirst = getSharedPreferences("localmm_sharedPreferences", Context.MODE_PRIVATE).getInt("listOrGridFlag", isOrNotGridViewFirst) ;
1、存储
(1)、getSharedPreferences(String name,int mode),这个方法是用来获取SharedPreferences对象的方法
name表示存储数据的文件名
mode表示对数据操作的几种方式。
MODE_PRIVATE:表示该文件私有
MODE_WORLD_READABLE:表示可以被其他应用读取
MODE_WORLD_WRITEABLE:表示可以被其他应用写入
(2)、editor对象
使文件开始处于编辑状态,然后向文件添加数据
Editor editor = sharedPreferences.editor();
(3)、editor.putXX(T Key,T Value);
XX 可以为String,int,boolean等。
(4)、commit提交修改
2、读取
首先使用getSharedPreferences获取SharedPreferences对象,然后使用getXX获取相应键值