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

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. 原生JS实现弹出窗口的拖拽

    上一篇说了一下弹出窗口功能的实现思路,一般情况下紧接着就会需要做到弹窗的移动,当然现在有很插件.库比如hammer可以使用,效率也非常好.但我觉得还是有必要了解一下原生JS的实现思路及方式,如下: 思 ...

  2. IOS开发创建开发证书及发布App应用(五)——编译应用

    5.编译应用 最近升级ios7,一直没有时间写,终于搞完了,完成之前没有完成的工作 由于适配ios7,所以Xcode也升级到5了,所以下面截图基本在Xcode5上,以前的版本基本也差不多的 打开项目的 ...

  3. Html5 Canvas笔记(2)-Canvas绘图

    用Canvas API绘图,需要画图形的边线并设置内部区域填充,边线英文语法对应stroke,填充对应fill,在后面我们会频繁看到这2个英文单词的出现.Canvas API内置的形状绘图函数比较少, ...

  4. 老李推荐: 第3章2节《MonkeyRunner源码剖析》脚本编写示例: MonkeyDevice API使用示例 4

    第七步:保存新增加日记 代码3-2-7 增加日记-保存日记 #Step7: Save the note by touch on the "save" menu entry by c ...

  5. 在Caffe中实现模型融合

    模型融合 有的时候我们手头可能有了若干个已经训练好的模型,这些模型可能是同样的结构,也可能是不同的结构,训练模型的数据可能是同一批,也可能不同.无论是出于要通过ensemble提升性能的目的,还是要设 ...

  6. 嵌入javascript脚本的位置

    JavaScript脚本可以放在HTML文档任何需要的位置.一般来说,可以在<head>与</head>.<body>与</body>标记对之间按需要放 ...

  7. 关于mysql的初步学习

    1.在windows上使用CMD链接数据库 这是原始用户表 users 这是通过 语句插入而来的 user表和user2表结构相同 user2 的数据 通过如下SQL语句从users表赋值过来: in ...

  8. PHP7中我们应该学习会用的新特性

    PHP7于2015年11月正式发布,本次更新可谓是PHP的重要里程碑,它将带来显著的性能改进和新特性,并对之前版本的一些特性进行改进.本文小编将和大家一起来了解探讨PHP7中的新特性. 1. 标量类型 ...

  9. 是什么让C#成为最值得学习的编程语言

    随着 Web.iOS.Android.智能设备的流行,新的编程语言纷纷涌现并表现不俗,如 Ruby,Python,Scala,Go,Node.js,Swift 等.反观已经发展了近20年的 C# 语言 ...

  10. C# 事务之SqlTransaction

    private static void Execute(string connectionString) { using (SqlConnection connection = new SqlConn ...