Android开发笔记(二十九)使用SharedPreferences存取数据
2015-12-28 09:53
423 查看
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。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读取数据
示例代码如下: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”。下面是一个配置文件示例<?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文件中的数据都是明文存储,所以共享变量方式不适合存储一些敏感的业务数据,如果确有必要在这里存储数据,那么一定要将数据加密后方可使用。
点此查看Android开发笔记的完整目录
相关文章推荐
- 【Android高级】全部自己实现的下拉刷新功能
- android AppWidgetProvider讲解
- Android手机怎么会越用越卡?真相就在这里
- Android WebView远程执行代码漏洞浅析
- Android自动化压力测试图解教程——Monkey工具
- vlc for android demo
- Android 5.0(包含5.0以下版本) 获取栈顶应用程序包名
- Android开发:使用JNI读取应用签名
- android-Managing the Activity Lifecycle
- [IMX6Q]Android版本如何获取u-boot源代码
- Realm for Android快速入门教程
- 【Android开发】wifi开关与wifi连接(密码连接)
- Android 权限
- Android AsyncTask详解
- Android文件浏览器
- Android反射例子的学习
- android开发游记:弹出窗和底部弹出窗的实现和动画效果
- Android---再按一次退出页面
- 《Android源码设计模式解析与实战》读书笔记(十二)
- Android Kitkat 如何让系统永久不休眠