SharedPreferences 详解
2013-03-07 13:21:56 我来说两句作者:lfdfhl
收藏 我要投稿
我们在开发软件的时候,常需要向用户提供软件参数设置功能,例如我们常用的微信,
用户可以设置是否允许陌生人添加自己为好友.对于软件配置参数的保存,如果是在
window 下通常我们会采用 ini 文件进行保存.如果是 J2EE 下面,我们会采用
properties 属性文件或者 xml 进行保存.在我们的 Android 应用中又适合采用什
么方式保存软件配置参数呢?Android 平台给我们提供了一个
SharedPreferences 类,它是一个轻量级应用程序内部轻量级的存储方案,特别适
合用于保存软件配置参数,比如 boolean,int,%oat,long,String 等数据.使用
SharedPreferences 保存数据,其实质是采用了 xml 文件存放数据,路径为:/
data/data/<package name>/shared_prefs.
获取 SharedPreferences 的两种方式:
1 调用 Context 对象的 getSharedPreferences()方法
2 调用 Activity 对象的 getPreferences()方法
两种方式的区别:
调用 Context 对象的 getSharedPreferences()方法获得的
SharedPreferences 对象可以被同一应用程序下的其他组件共享.
调用 Activity 对象的 getPreferences()方法获得的 SharedPreferences 对象只
能在该 Activity 中使用.
SharedPreferences 的四种操作模式:
Context.MODE_PRIVATE
Context.MODE_APPEND
Context.MODE_WORLD_READABLE
Context.MODE_WORLD_WRITEABLE
Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用
本身访问,在该模式下,写入的内容会覆盖原文件的内容
Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否
则就创建新文件.
Context.MODE_WORLD_READABLE 和
Context.MODE_WORLD_WRITEABLE 用来控制其他应用是否有权限读写该文件.
MODE_WORLD_READABLE:表示当前文件可以被其他应用读取.
MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入.
将数据保存至 SharedPreferences:
SharedPreferences
preferences=getSharedPreferences("user",Context.MODE_PRIVATE);
Editor editor=preferences.edit();
String name="xixi";
String age="22";
editor.putString("name", name);
editor.putString("age", age);
评论0
最新资源