本地数据存储----SharedPreferences

SCID: L0026

有时候应用程序在退出的时候,需要保存一些持久性的配置参数信息,以便下次进入程序后能通过读取这些信息来将程序设置成某种运行状态。Android提供了SharedPreferences类实现保存配置参数信息到本地存储器。类似winform的ini文件。

1. 需要包含android.content.SharedPreferences包:

import android.content.SharedPreferences;


2. 保存数据到本地:

SharedPreferences settings = getSharedPreferences(PREFS_NAME, Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = settings.edit();
editor.putInt("CREATED_COUNT", ++mCreatedCount);
editor.commit();

(1) getSharedPreferences()中第一个参数PREFS_NAME是打开新的SF(Shared Preferences)文件名字,一般本地存储器上是以“名字+.xml“的文件格式来存储的,第二个参数设置打开SF文件的方式,有以下几种模式:
MODE_APPEND: 如果该文件已经存在,然后将数据写入,而不是抹掉它现有文件的末尾。
MODE_PRIVATE: 默认模式,创建的文件只能由应用程序调用,即为私有的,其他程序将无法查看该和更改配置内容
MODE_WORLD_READABLE: 允许所有其他应用程序有读取和创建文件的权限。
MODE_WORLD_WRITEABLE: 允许所有其他应用程序具有写入、访问和创建的文件权限。



(2) SharedPreferences并不提共更改存储配置信息的接口,通过获得 SharedPreferences.Editor对象,来更改存储数据,比如上面例子代码中putInt(),是更改存储一个值为CREATED_COUNT的整型数据信息到SF文件中,对于其它类型,可以用对应的API:
SharedPreferences.Editor putBoolean(String key, boolean value);
SharedPreferences.Editor putInt(String key, int value);     
SharedPreferences.Editor putFloat(String key, float value);
SharedPreferences.Editor putLong(String key, long value);
SharedPreferences.Editor putString(String key, String value);



(3)不要忘记了commit()语句,否则设置的结果将不会保存到对应的SF文件中. 下面是commit执行后的SF文件的结果:
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<int name="CREATED_COUNT" value="2" />
</map>


3. 从本地读取数据:

SharedPreferences settings = getSharedPreferences(PREFS_NAME, Activity.MODE_PRIVATE);
mCreatedCount = settings.getInt("CREATED_COUNT", 1);

(1) getInt() 读取CREATED_COUNT对应的值,如果SF文件中不存在该值,默认用1代替。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值