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

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. pcntl_fork 导致 MySQL server has gone away 解决方案

    pcntl_fork 前连数据库,就会报 MySQL server has gone away 错误.原因是子进程会继承主进程的数据库连接,当mysql返回数据时,这些子进程都可以通过这个连接读到数据 ...

  2. 单发邮箱 群发邮箱 程序 Email winform

    using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using Sy ...

  3. Failed to connect to Xilinx hw_server. Check if the hw_server is running and correct TCP port is used.

    Failed to connect to Xilinx hw_server. Check if the  hw_server is running and correct TCP port is us ...

  4. 查找及修改日程管理系统中的bug

    1.Java没有分包都糅合在一起 2.在登录界面,没有输入账号密码,点击登录按钮时程序会崩溃,需要给给用户名和密码添加Toast (注:由于程序没有运行出来,所以是搭档孙刘兰的截图) 3.Regist ...

  5. hdu 1757 A Simple Math Problem (构造矩阵解决递推式问题)

    题意:有一个递推式f(x) 当 x < 10    f(x) = x.当 x >= 10  f(x) = a0 * f(x-1) + a1 * f(x-2) + a2 * f(x-3) + ...

  6. ORACLE JOB创建

    Connected Connected as focususer SQL> SQL> --JOB 需要在命令行执行: SQL> --抽数job SQL> CREATE OR R ...

  7. ajax 大洋与小样的第二步

    一.Ajax的对象 XMLHttpRequest的方法 方法 描述 abort() 停止当前请求 getAllResponseHeaders() 把 HTTP请求的所有响应首部作为健/值对返回 get ...

  8. 2 Java对象的创建过程

    JAVA中创建对象直接new创建一个对象,对么对象的创建过程是怎样的呢? 程序运行过程中有许多的对象被创建出来.那么对象是如何创建的呢? 一 对象创建的步骤 1 遇到new指令时,检查这个指令的参数是 ...

  9. GPIO寄存器

    GPIO寄存器描述 <STM32参考手册中文-p75> 1.端口配置低寄存器(GPIOx_CRL)(x = A...E)2.端口配置高寄存器(GPIOx_CRH)(x = A...E) 3 ...

  10. JavaScript数组基础编程题归纳

    之前的随笔"JavaScript中数组类型的属性和方法"中有介绍很多数组类型的方法,但都是一些理论.最近在练习在线编程题,发现自己还是习惯于用常规的循环来答题,对于数组的方法的使用 ...