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

Android SharedPreferences PreperenceScreen 偏好数据存取

jsc9年前 (2016-04-05)Android2891

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 偏好数据存取 ” 的相关文章

Android基本功:支持GPS的核心API

一、LocationManager类        作用和TelephonyManager,AudioManager等服务类的作用类似,所有GPS定位相关的服务、对象都由该对象产生;    ...

google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果

google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果

    了解二维码这个东西还是从微信中,当时微信推出二维码扫描功能,自己感觉挺新颖的,从一张图片中扫一下竟然能直接加好友,不可思议啊,那时候还不了解二维码,呵呵,然后做项目的时候,老板说要加上二维码扫描功能,然后自己的屁颠屁颠的去百度,google...

android json解析及简单例子

JSON的定义:       一种轻量级的数据交换格式,具有良好的可读和便于快速编写的特性。业内主流技术为其提供了完整的解决方案(有点类似于正则表达式 ,获得了当今大部分语言的支持),从而可以在不同平台间进行数据交换。JSON采用兼容性很高的文本格式...

Android应用加入微信分享

Android应用加入微信分享

一、申请你的AppIDhttp://open.weixin.qq.com/  友情提示:推荐使用eclipse打包软件最后一步的MD5值去申请AppID二、官网下载libammsdk.jar包http://open.weixin.qq.com/download/?lang=zh_...

Fragment保持状态切换

Fragment保持状态切换

在使用Activity管理多个Fragment时,每次切换Fragment使用的是replace,结果导致出现xxx is not currently in the FragmentManager异常挂掉网上说使用replace切换会使被切换的Fragment给替换掉,从而被被切换的Fra...

Android中的消息通知(NotificationManager和Notification)

下面来谈谈notification,这个notification一般用在电话,短信,邮件,闹钟铃声,在手机的状态栏上就会出现一个小图标,提 示用户处理这个通知,这时手从上方滑动状态栏就可以展开并处理这个快讯。已添加的Notification.Builder,使其更容易构建通知。 notifica...