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

Android SharedPreferences PreperenceScreen 偏好数据存取

jsc9年前 (2016-04-05)Android2973

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://www.jsc0.com/post/61.html

分享给朋友:

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

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

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

【代码】android 调用系统视频录制并生成缩略图

package com.example.videocapture; import android.app.Activity; import android.content.Intent; import android.database.Cursor;...

ViewPager + HorizontalScrollView 实现可滚动的标签栏

ViewPager + HorizontalScrollView 实现可滚动的标签栏

这是一个可滑动的标签栏的自定义控件,参考此文章http://blog.csdn.net/fx_sky/article/details/8990573,我将主要的功能整合成一个类,配上2个特定的布局即可使用。 效果图:    主要布局文件:<?xml&nb...

Android动态布局,并动态为TextView控件设置drawableLeft、drawableRight等属性添加图标

Android动态布局,并动态为TextView控件设置drawableLeft、drawableRight等属性添加图标

注:(图中每一个条目和图标都是由代码动态生成) 代码动态布局,并需要为每一个条目设置图标,此时用到了 android:drawableLeft="@drawable/icon" ...

android上传图片至服务器

本实例实现了android上传手机图片至服务器,服务器进行保存服务器servlet代码publicvoid doPost(HttpServletRequest request, HttpServletResponse response)  ...

下拉刷新及滚动到底部加载更多的Listview使用

下拉刷新及滚动到底部加载更多的Listview使用

本文主要介绍可同时实现下拉刷新及滑动到底部加载更多的ListView的使用。 该ListView优点包括:a. 可自定义下拉响应事件(如下拉刷新)  b.可自定义滚动到底部响应的事件(如滑动到底部加载更多)  c.可自定义丰富的样式  d....