【android学习】SharedPreferences详解
来源:互联网 发布:ubuntu开机启动程序 编辑:程序博客网 时间:2024/06/05 17:21
1,概念
SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置,以XML文件的形式存储的键值对(key-value)数据的数据存储方式保存在 /data/data/PACKAGE_NAME/shared_prefs目录下。
2,用处
一般用于储存应用的配置等信息。
注意:SharedPreferences文件并不安全,手机root后即可查看其信息,请勿存储用户信息、密码等敏感信息。
3,举例
1)保存Activity状态
Activity暂停时,将此activity的状态保存到SharedPereferences中;当Activity重载,系统回调方法onSaveInstanceState时,再从SharedPreferences中将值取出。
2)保存程序配置信息
如如是否打开音效、是否使用震动效果、小游戏的玩家积分等。
4,优缺点
1)优点
①可以全局共享访问
②对于常规的轻量级而言比SQLite好一点。
当存储量不大的时候可以考虑自己定义文件格式。
2)缺点
①保存为xml文件,整体效率来看不是特别的高,但却高于SQLite。
xml处理时Dalvik会通过自带底层的本地XML Parser解析,比如XMLpull方式,这样对于内存资源占用比较好。
②安全性较差,请勿保存敏感信息。
5,安全性
1)开发者在创建文件时务必选取合适的创建模式(MODE_PRIVATE、MODE_WORLD_READABLE以及MODE_WORLD_WRITEABLE)进行权限控制。
2)避免使用MODE_WORLD_WRITEABLE和MODE_WORLD_READABLE模式创建进程间通信的文件,此处即为Shared Preferences;如果需要与其他进程应用进行数据共享,请考虑使用content provider。
3)不要在使用“android:sharedUserId”属性的同时,对应用使用测试签名,否则其他应用拥有“android:sharedUserId”属性值和测试签名时,将会访问到内部存储文件数据。
6,demo
//FILE_BD 保存账户绑定信息 SharedPreferences preferences_BD = null; String FILE_BD = "saveUserBind";//用于保存账户绑定信息 ... //读入信息 void PutScopeClose(){ if (preferences_BD == null) { preferences_BD = mContext.getSharedPreferences(FILE_BD, MODE_PRIVATE); } Editor editPhone = preferences_BD.edit(); switch (arr[1]) { case "onebind": editPhone.putString("Scope_Close1", arr[2]); break; case "twobind": editPhone.putString("Scope_Close2", arr[2]); break; } editPhone.commit(); } //获取开启关闭安全距离信息 String GetScopeClose(){ String sendStr=""; preferences_BD = mContext.getSharedPreferences(FILE_BD, MODE_PRIVATE); sendStr = preferences_BD.getString("Scope_Close1", "close") + "," + preferences_BD.getString("Scope_Close2", "close") + "," + ":end" + ","; return sendStr; }
- 【android学习】SharedPreferences详解
- android 详解 SharedPreferences
- Android之SharedPreferences详解
- Android之SharedPreferences详解
- Android SharedPreferences详解
- android SharedPreferences详解
- Android之SharedPreferences详解
- [Android]SharedPreferences详解
- Android 中SharedPreferences详解
- Android sharedpreferences使用详解
- Android SharedPreferences 详解
- Android之SharedPreferences详解
- Android之SharedPreferences详解
- Android之SharedPreferences详解
- android SharedPreferences详解
- Android SharedPreferences详解
- Android SharedPreferences详解
- Android之SharedPreferences详解
- MySQL Server架构图
- 用eclipse创建动态web项目手动生成web.xml方法
- VB Format函数
- ThreadLocal内存泄露(下)
- exec函数族的作用与讲解
- 【android学习】SharedPreferences详解
- 带你玩转javaWeb之七-使用JDBC完成CRUD的操作
- ROS 模拟激光仿真数据 使用stage进行仿真 在stage中控制两个机器人
- 复制构造函数
- 【网络流24题】最小路径覆盖问题
- 1002. A+B for Polynomials (25)
- Thread之脏读
- windows2003 IIS6 部署MVC3和MVC4程序
- Android NDK的简单例子