当前位置:首页 > Android > 正文内容

Android SharedPreferences PreperenceScreen 偏好数据存取

jsc9年前 (2016-04-05)Android2818

SharedPreferences是一个接口,程序是无法创建SharedPreferences实例的,

1、Context.getSharedPreferences(String name,int mode)来得到一个指定name的SharedPreferences实例

2、PreferenceManager.getDefaultSharedPreferences(Context)来获取在同一个包名下的SharedPreferences实例

name:是指文件名称,不需要加后缀.xml,系统会自动为我们添加上。一般这个文件存储在/data/data/<package name>/shared_prefs下(这个面试常问到)

context:为上下文对象



mode:是指定读写方式,其值有三种,分别为:

Context.MODE_PRIVATE:指定该SharedPreferences数据只能被本应用程序读、写

Context.MODE_WORLD_READABLE:指定该SharedPreferences数据能被其他应用程序读,但不能写

Context.MODE_WORLD_WRITEABLE:指定该SharedPreferences数据能被其他应用程序读写。


 

首先介绍一下它的 常用方法:

public abstract boolean contains (String key)     -----   判断SharedPreferences是否包含特定key的数据

public abstract SharedPreferences.Editor edit ()   -----  返回一个Edit对象用于操作SharedPreferences

public abstract Map<String, ?> getAll ()   ------   获取SharedPreferences数据里全部的key-value对象

getXXX(String key,XXX defvlaue)   ------   获取SharedPreferences数据指定key所对应的value,如果该key不存在,返回默认值defValue。其中XXX可以是boolean、float、int、long、String等基本类型的值
Editor接口的常用方法:

public abstract SharedPreferences.Editor clear ()   ----   清空SharedPreferences里所有的数据

public abstract boolean commit ()  -----   当Editor编辑完成后,调用该方法可以提交修改,而且必须要调用这个数据才修改

public abstract SharedPreferences.Editor putXXX (String key, boolean XXX) ----   向SharedPreferences存入指定的key对应的数据,其中XXX可以是boolean、float、int、long、String等基本类型的值

public abstract SharedPreferences.Editor remove (String key)  -----   删除SharedPreferences里指定key对应的数据项


写入数据到XML里 

Editor sharedata = getSharedPreferences("config", MODE_PRIVATE).edit();    
sharedata.putString("item","hello getSharedPreferences");    
sharedata.commit();

读取XML里数据

SharedPreferences sharedata = getSharedPreferences("config", 0);    
String data = sharedata.getString("item", null);

注:config为xml文件名

 

 最后我们想获取 preference.xml里偏好配置的值,只需要根据里面key就可以获取到

SharedPreferences sharedata = PreferenceManager.getDefaultSharedPreferences(MainActivity.this);  
String list_entries = sharedata.getString("list_entries", "");  
String edittext_preference = sharedata.getString("edittext_preference", "");  
boolean child_checkbox_preference = sharedata.getBoolean("child_checkbox_preference", false);  
boolean parent_checkbox_preference = sharedata.getBoolean("parent_checkbox_preference", false);  
boolean checkbox = sharedata.getBoolean("checkbox", false);  
boolean next_screen_checkbox_preference = sharedata.getBoolean("next_screen_checkbox_preference", false);

 


扫描二维码推送至手机访问。

版权声明:本文由微小站发布,如需转载请注明出处。

本文链接:https://jsc0.com/post/61.html

分享给朋友:

“Android SharedPreferences PreperenceScreen 偏好数据存取 ” 的相关文章

实现应用程序只有在第一次启动时显示引导界面

第一次安装启动:启动页--->导航页-->主页面之后启动:启动页-->主页面实现的原理就是:在启动页面用做一个文件保存的状态,保存程序是不是第一次启动的状态。因为只是要保存一个状态,我们将这个程序是第一次打开就将他设为true,当他进入 主页面之后将他的状态未为false,因为都...

Android中从SD卡中/拍照选择图片并进行剪裁的方法

Android中从SD卡中/拍照选择图片并进行剪裁的方法

效果图: 下面是代码的部分,部分是从网路上摘录的,自己整理后当做工具类使用   配置文件:布局很简单,一个ImageButton和一个Button,点击都可以实现图像选择的功能,具体的实现根据大家在实际中...

修改keystore密码别名等

修改keystore密码别名等

之前在测试Eclipse ADT的Custom debug keystore自定义调试证书的时候,发过一篇关于调试证书规格的博文:Eclipse ADT的Custom debug keystore所需证书规格,提到过自定义调试证书的密码和alias命名以及alias密码都是...

Android 学习之 开源项目PullToRefresh的使用

Android 学习之 开源项目PullToRefresh的使用

首先 下载 Android-PullToRefresh-master 下载地址  https://github.com/chrisbanes/Android-PullToRefresh 下载之...

GridView中item高度自适应

item高度自适应public class MyAdapter extends BaseAdapter {         GridView mGv;&n...

采用SharedPreferences保存用户偏好设置参数和读取设置参数

采用SharedPreferences保存用户偏好设置参数和读取设置参数

Android SDK支持那些文件存储技术? 1. 使用SharedPreferences保存key-value类型的数据 2. 流文件存储(使用openFileOutput和openFileInput方法,或FileInputStream和FileO...