用于保存具有对应关系的键值对

import android.content.Context;
import android.content.SharedPreferences; import java.util.Set; import cgjr.com.cgjr.constants.Constants; /**
* Created by Administrator on 2016/4/13.
*/
public class UtilitySharedpreferences { private SharedPreferences.Editor spe;
private Context context;
//指定sharepreferences文件的名称
private String configxml = "";
private SharedPreferences sp; public UtilitySharedpreferences(Context context, String configxml) {
this.context = context;
this.configxml = configxml;
sp = context.getSharedPreferences(configxml, Context.MODE_PRIVATE);
spe = sp.edit();
} /**
* 保存键值对到xml文件中
*
* @param type 类型判断 1 boolean 2 float 3 int 4 long 5 string 6 stringset
* @param key
* @param value
*/
public void putMsg(int type, String key, Object value) {
switch (type) {
case Constants.BOOLEAN:
spe.putBoolean(key, (Boolean) value);
break;
case Constants.FLOAT:
spe.putFloat(key, (Float) value);
break;
case Constants.INT:
spe.putInt(key, (Integer) value);
break;
case Constants.LONG:
spe.putLong(key, (Long) value);
break;
case Constants.STRING:
spe.putString(key, (String) value);
break;
case Constants.STRINGSET:
spe.putStringSet(key, (Set<String>) value);
break;
}
spe.commit();
} /**
* 根据key值,获取xml中的内容
*
* @param type
* @param key
*/
public Object getMsg(int type, String key, Object value) {
Object obj = null;
switch (type) {
case Constants.BOOLEAN:
obj = sp.getBoolean(key, (Boolean) value);
break;
case Constants.FLOAT:
obj = sp.getFloat(key, (Float) value);
break;
case Constants.INT:
obj = sp.getInt(key, (Integer) value);
break;
case Constants.LONG:
obj = sp.getLong(key, (Long) value);
break;
case Constants.STRING:
obj = sp.getString(key, (String) value);
break;
case Constants.STRINGSET:
obj = sp.getStringSet(key, (Set<String>) value);
break;
}
return obj;
} }

其中Constants对应的代码为:

    public static final int BOOLEAN = 1;
public static final int FLOAT = 2;
public static final int INT = 3;
public static final int LONG = 4;
public static final int STRING = 5;
public static final int STRINGSET = 6;

设置为数字的话,更加便于写代码

工具类总结---(四)---Sharedpreferences保存的更多相关文章

  1. 使用LogPhoneUtil工具类在Android手机保存APP运行日志

    最近公司的测试老是提出这样那样的bug,当然也怪自己代码写的烂,所以测试总是会把app搞崩溃,而他们那边崩溃的时候还没有日志打印,自己回来再重现有的时候还真不好复现出来,因此麻烦事就来了.为了方便查看 ...

  2. 并发工具类(四)线程间的交换数据 Exchanger

    前言   JDK中为了处理线程之间的同步问题,除了提供锁机制之外,还提供了几个非常有用的并发工具类:CountDownLatch.CyclicBarrier.Semphore.Exchanger.Ph ...

  3. [课本]JDBC课程6--使用JDBC的DAO模块化--完成数据库的增删查改_工具类JDBCTools四个(Preparedstatement)功能模块的敲定版

    (课本P273-任务九) /**DAO: Data Access Object * 为什么用: 实现功能的模块化,更有利于代码的维护和升级 * 是什么: 访问数据信息的类,包含对数据的CRUD(cre ...

  4. Java并发工具类(四):线程间交换数据的Exchanger

    简介 Exchanger(交换者)是一个用于线程间协作的工具类.Exchanger用于进行线程间的数据交换.它提供一个同步点,在这个同步点两个线程可以交换彼此的数据.这两个线程通过exchange方法 ...

  5. String工具类之“四个判空方式”StringUtils.isNotBlank和StringUtils.isEmpty和StringUtils.isBlank和StringUtils.isNotEmpty

    一.判断str字符串都不为空==>StringUtils.isNotBlank(String str); 1 /** 2 * <p>检查一个字符串是否非空("") ...

  6. Android 分享一个SharedPreferences的工具类,方便保存数据

    我们平常保存一些数据,都会用到SharedPreferences,他是保存在手机里面的,具体路径是data/data/你的包名/shared_prefs/保存的文件名.xml, SharedPrefe ...

  7. JavaScript工具类(三):localStorage本地储存

    localStorage Web 存储 API 提供了 sessionStorage (会话存储) 和 localStorage(本地存储)两个存储对象来对网页的数据进行添加.删除.修改.查询操作. ...

  8. Java并发(十六):并发工具类——Exchanger

    Exchanger(交换者)是一个用于线程间协作的工具类.Exchanger用于进行线程间的数据交换.它提供一个同步点,在这个同步点两个线程可以交换彼此的数据.这两个线程通过exchange方法交换数 ...

  9. SharedPreferences的工具类,使用起来方便、快捷

    SharedPreferences的工具类,使用起来方便.快捷:上代码:import android.content.Context;import android.content.SharedPref ...

  10. SharedPreferences的工具类

    import android.content.Context; import android.content.SharedPreferences; import android.content.Sha ...

随机推荐

  1. python终端中退格键,方向键不能使用

    在安装Python的时候先安装 yum install readline-devel.x86_64 -y 如果python已经安装过了就重新安装 ./configure    make all mak ...

  2. .net core版 文件上传/ 支持批量上传,拖拽以及预览,bootstrap fileinput上传文件

    asp.net mvc请移步 mvc文件上传支持批量上传,拖拽以及预览,文件内容校验 本篇内容主要解决.net core中文件上传的问题  开发环境:ubuntu+vscode 1.导入所需要的包:n ...

  3. Nginx网站使用CDN之后禁止用户真实IP访问的方法

    做过面向公网WEB的运维人员经常会遇见恶意扫描.拉取.注入等图谋不轨的行为,对于直接对外的WEB服务器,我们可以直接通过 iptables .Nginx 的deny指令或是程序来ban掉这些恶意请求. ...

  4. Python_入门

    本章内容: 1.Python的种类 2.Python的环境 3.Python入门(解释器.编码.pyc文件.脚步传入参数.变量.输入.流程控制与缩进.while循环) 4.练习题 Python的种类 ...

  5. 解决子元素用css float浮动后父级元素高度自适应高度

    1.在最后一个子元素后面清除浮动 2.父元素加over-flow:hidden;(副作用:子元素定位不能超出父元素的范围) 3.父元素也一样浮动(最笨的方法): 4.子元素使用inline-block ...

  6. Kubernetes日志收集

    关于kubernetes的日志分好几种,针对kubernetes本身而言有三种: 1.资源运行时的event事件.比如在k8s集群中创建pod之后,可以通过 kubectl describe pod ...

  7. C++实现动态顺序表

    顺序表是在计算机内存中以数组的形式保存的线性表,是指用一组地址连续的存储单元依次存储数据元素的线性结构.这样的存储方式使得线性表逻辑上相邻的元素,其在物理存储单元中也是相邻的.只要知道了第一个元素的存 ...

  8. Html5 Canvas笔记(3)-Canvas状态

    p{ font-size: 15px; text-indent: 2em; } .alexrootdiv>div{ background: #eeeeee; border: 1px solid ...

  9. 老李分享:DBA

    poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-845052 ...

  10. 解锁ORACLE数据库

    1.查找锁定数据库的用户 select username,lock_date from dba_users where username='scott';   2.解锁 alter user scot ...