Android数据存储方案--SharedPreferences存储

SharedPreferences是Android编程独有的一种文件存储方式,十分便利,操作友好。其工作原理是在/data/data/com.xxx.test/shared_prefs目录下面生成一个xml档案,以便数据读写。

不过,需要注意的是,官方目前推荐“只有相同user ID的process才能访问这个xml档案”,基本是就是“只允许程序自身对其读写”,这个xml的权限为“660” (-rw-rw----)。官方推荐默认属性“MODE_PRIVATE”, 其他如 MODE_WORLD_READABLE/MODE_WORLD_WRITEABLE/MODE_MULTI_PROCESS,官方均不推荐使用。

对SharedPreferences操作也十分方便,下面分别看看写/读SharedPreferences的代码。

1. SharedPreferences写入

分为3步,

1.1 调用SharedPreferences.Editor()方法,

1.2 向SharedPreferences.Editor()写入数据,如putBoolean()写入布尔类型,putString()写入字符串类型,其他还有方法putStringSet()/putInt()/putLong()/putFloat()等,

1.3 调用commit()或者apply()写入磁盘空间。

示例代码如下,

SharedPreferences pref = getSharedPreferences("start", MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putBoolean("isAutoStart", false);
editor.putInt("autoStartWaitTime", 5);
editor.putBoolean("isConfirmRestart", false);
editor.commit();

生成的xml如下,

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
    <int name="autoStartWaitTime" value="5" />
    <boolean name="isConfirmRestart" value="false" />
    <boolean name="isAutoStart" value="false" />
</map>

2. SharedPreferences读出

SharedPreferences读出则更简单写,首先初始化SharedPreferences对象,然后呼叫一系列的get方法,如getBoolean()/getInt()等。

示例代码如下,

SharedPreferences pref = getSharedPreferences("start", MODE_PRIVATE);
boolean isAutoStart = pref.getBoolean("isAutoStart", false);
int autoStartWaitTime = pref.getInt("autoStartWaitTime", 0);
boolean isConfirmRestart = pref.getBoolean("isConfirmRestart", false);
Log.d(TAG, "isAutoStart is " + isAutoStart);
Log.d(TAG, "autoStartWaitTime is " + autoStartWaitTime);
Log.d(TAG, "isConfirmRestart is " + isConfirmRestart);

 

 

 

 

 

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值