SharePreferences实现数据存储(先例子后理论 易理解)

先说说使用这个存储的背景吧哈

在一个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获取相应键值



你可能感兴趣的:(SharePreferences实现数据存储(先例子后理论 易理解))