android数据存储(一)之Shared Preferences及注意事项

Shared Preferences 经常用来保存应用程序的一些属性设置,在android平台常用于存储较简单的参数设置。

先说说文件创建的几个模式

文件创建模式:Activity.MODE_APPEND
如果该文件已经存在,然后将数据写入,而不是抹掉它现有文件的末尾。

文件创建模式:MODE_PRIVATE
默认模式,在那里创建的文件只能由应用程序调用,即为私有的

文件创建模式:Activity.MODE_WORLD_READABLE
允许所有其他应用程序有读取和创建文件的权限。


文件创建模式:Activity.MODE_WORLD_WRITEABLE
允许所有其他应用程序具有写入、访问和创建的文件权限。(注意!写入的时候会覆盖原来的所有内容)


详细用法如下:

保存数据:

SharedPreferences saveState = getPreferences(Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = saveState.edit();
editor.putString("msg", "this is first message");
editor.commit();

获取数据:

SharedPreferences setting = getPreferences(Activity.MODE_PRIVATE);
String message = setting.getString("msg", null);//第一个参数为键值对的键,第二个参数为默认值,即如果查询的键值对不存在,则会返回第二个参数

如果你的程序通过使用preferences来存取数据,那么这些数据究竟放到哪里了呢?

其实,系统每安装一个应用程序时,在/data/data 目录下都会产生一个文件夹,如果应用程序中使用了preferences,那么便会在该文件夹下产生一个shared_prefs文件夹,其中就是我们保存的数据。(文件名好像是用调用shared Prefenences的activity名字命名的,后缀名为.xml)


注意!!使用Shared Preferences保存的数据只能在保存的页面获取,在其他页面不能获取。

证明:首先有两个activity分别为界面一和界面二,界面二是从界面一跳转过去的。

1、首先在界面一获取msg的值为null,界面二获取msg的值为null。

2、在界面二保存一对键值对putString(“msg”,"this is second msg");

3、再次,在界面二获取msg的值为“this is second msg”,返回界面一,在界面一获取msg的值为null。

4、然后在界面一保存一对键值对putString(“msg”,"this is first msg");

5、再次,在界面一获取的msg的值为"this is first msg",跳转到界面二,在界面二获取msg的值为"this is second msg"

由此得知,不同页面保存数据的地方是不一样的,所以要谨慎使用。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值