前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Android开发笔记(二十九)使用SharedPreferences存取数据

Android开发笔记(二十九)使用SharedPreferences存取数据

作者头像
aqi00
发布2019-01-18 10:43:08
7080
发布2019-01-18 10:43:08
举报
文章被收录于专栏:老欧说安卓老欧说安卓

SharedPreferences使用场景

共享参数(SharedPreferences)是Android上的一个轻量级存储工具,存储结构是类似map的key—value键值对形式。它主要用于保存app的基础设置,比如说app当前已安装的版本号,这样下次app版本更新时就能根据之前的版本号作相应处理。因为app每次更新都可能创建新的数据表,从版本7升级到版本10,对比版本9升级到版本10,前一种升级可能要创建更多的表,所以此时很有必要从SharedPreferences中读取之前的版本号,这样才能根据不同版本号做不同的分支处理。 另外,SharedPreferences还可用于保存Activity状态,当Activity暂停时,将此activity的状态保存到SharedPereferences中(主要是保存该activity必须的一些参数信息);当Activity重载时,系统回调方法onSaveInstanceState时,再从SharedPreferences中将值取出。

SharedPreferences存储数据

挺简单的,直接贴出示例代码,其中getSharedPreferences的第一个参数是文件名,第二个参数一般都填MODE_PRIVATE。

代码语言:javascript
复制
		SharedPreferences sps= getSharedPreferences("share", MODE_PRIVATE);
		//存储数据
		SharedPreferences.Editor editor = sps.edit();
		editor.putString("name", "Mr Lee");
		editor.putInt("age", 30);
		editor.putBoolean("married", true);
		editor.putFloat("weight", 100f);
		editor.commit(); 

SharedPreferences读取数据

示例代码如下:

代码语言:javascript
复制
		SharedPreferences sps= getSharedPreferences("share", MODE_PRIVATE);
		//读取数据,注意get方法的第二个参数表示默认值
		String name = sps.getString("name", "");
		int age = sps.getInt("age", 0);
		boolean married = sps.getBoolean("married", false);
		float weight = sps.getFloat("weight", 0);

注意SharedPreferences的数据安全

SharedPreferences本质上是操作一个xml配置文件,文件具体路径在“/data/data/应用包名/shared_prefs/文件名.xml”。下面是一个配置文件示例

代码语言:javascript
复制
<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
    <string name="name">Mr Lee</string>
    <int name="age" value="30" />
    <boolean name="married" value="true" />
    <float name="weight" value="100.0" />
</map>

上面可以看到,SharedPreferences文件中的数据都是明文存储,所以共享变量方式不适合存储一些敏感的业务数据,如果确有必要在这里存储数据,那么一定要将数据加密后方可使用。

点击下载本文用到的SharedPreferences存取的工程代码

点此查看Android开发笔记的完整目录

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015年12月28日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • SharedPreferences使用场景
  • SharedPreferences存储数据
  • SharedPreferences读取数据
  • 注意SharedPreferences的数据安全
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档