Android SharedPreferences

 

SharedPreferences是一种轻量级的数据存储方式,学过Web开发的同学,可以想象它是一个小小的Cookie。它可以用键值对的方式把简单数据类型(booleanintfloatlongString)存储在应用程序的私有目录下(data/data/包名/shared_prefs/)自己定义的xml文件中。

以下表格为获取SharedPreferences对象的两个方法:

返回值

函数

备注

SharedPreferences

Context.getSharedPreferences(String name,int mode)

name为本组件的配置文件名(如果想要与本应用程序的其他组件共享此配置文件,可以用这个名字来检索到这个配置文件)。

mode为操作模式,默认的模式为0MODE_PRIVATE,还可以使用MODE_WORLD_READABLEMODE_WORLD_WRITEABLE

SharedPreferences

Activity.getPreferences(int mode)

配置文件仅可以被调用的Activity使用。

mode为操作模式,默认的模式为0MODE_PRIVATE,还可以使用MODE_WORLD_READABLEMODE_WORLD_WRITEABLE

如果要读取配置文件信息,只需要直接使用SharedPreferences对象的getXXX()方法即可,而如果要写入配置信息,则必须先调用SharedPreferences对象的edit()方法,使其处于可编辑状态,然后再调用putXXX()方法写入配置信息,最后调用commit()方法提交更改后的配置文件。

 

利用SharedPreferences读取保存的配置,需要先声明一个SharedPreferences变量,然后getSharedPreferences得到一个SharedPreferences实例对象,即得到一个已经指定好指向哪个文件、以哪种方式指向的SharedPreferences对象;然后通过getXX得到保存在配置文件里面的键值对,XX表示保存的值的类型。代码如下:

 

 

利用SharedPreferences保存用户的配置,同样需要有一个已经实例化指向配置的文件的SharedPreferences对象;然后使用SharedPreferences接口的edit获得SharedPreferences.Editor对象;再利用Editor对象的putXX方法(xx同样表示值的数据类型)把数据存到键值对中;最后利用Editor对象的commit方法,把这些键值对保存到SharedPreferences对象指向的配置文件中。代码如下:

 

 

到此,我们就已经通过SharedPreferences把配置信息保存到了配置文件中。

 

 

 

 

 

 

 

以上的程序是通过创建一个 userinfo.xml 文件来存储用户退出时保存用户的一些基本信息。当再次打开程序时,是通过读取该文件来获取之前的信息。

说明:使用SharedPreferences存取数据

保存key-value对一般要指定一个文件名,然后用类似putString的方法指定keyvalueSharedPreferences也采用了同样的方法。使用SharedPreferences保存key-value对的步骤如下:

1) 使用Activity类的getSharedPreferences方法获得SharedPreferences对象。其中存储key-value的文件名的名称由getSharedPreferences方法的第一个参数指定。

2) 使用SharedPreferences接口的edit获得SharedPreferences.Editor对象。

3) 通过SharedPreferences.Editor接口的putXXX方法保存key-value对。其中XXX表示value的不同数据类型。Boolean类型的value则是用putBoolean方法,字符串类型的则为putString方法。

4) 通过SharedPreferences.Editor接口的commit方法保存key-value对。Commit方法相当于数据库事务中的提交 (commit)操作。只有在事件结束后进行提交,才会将数据真正保存在数据库中。保存key-value也是一样。

 

 

 


 

 

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值