文档章节

[积累]新的SharedPreference 操作类, 简化了使用的参数

SuShine
 SuShine
发布于 2014/04/05 16:55
字数 264
阅读 700
收藏 1
package com.gm.bank.util;

import android.app.Application;
import android.content.Context;
import android.content.SharedPreferences;
import android.util.Log;

/**
 * 简单的xml数据操作类
 * 
 * @author sfshine
 * 
 *         测试代码:
 * 
 *         DataStoreUtil.initialize(getApplication());
 *         DataStoreUtil.i().putFloat("testf", 100); Log.e("TAGap",
 *         DataStoreUtil.i().getFloat("testf") + ""); 
 *         DataStoreUtil.i().clear();
 *         DataStoreUtil.i().putString("testS", "测试"); Log.e("TAGap",
 *         DataStoreUtil.i().getString("testS") + ""); Log.e("TAGap",
 *         DataStoreUtil.i().getFloat("testf") + "");
 */

public class DataStoreUtil {

	public static DataStoreUtil sDataStoreUtil;

	public final String DATASTORE = "DATASTORE";
	public SharedPreferences mSharedPreferences;
	public Context mContext;
	
	/**
	 * 想用这个类需要先初始化 DataStoreUtil.init(getApplication());
	 */
	public static void initialize(Application context) {
		sDataStoreUtil = new DataStoreUtil(context);
	}

	/**
	 * 拿到操作sharedprefrence的单例类
	 * 
	 * @param context
	 * @return
	 */
	public static DataStoreUtil i() {
		if (sDataStoreUtil == null) {
			throw new RuntimeException(
					"DataStoreUtil should be init in application first");
		}
		return sDataStoreUtil;
	}

	private DataStoreUtil(Context context) {
		mContext = context;
		mSharedPreferences = mContext.getSharedPreferences(DATASTORE,
				Context.MODE_PRIVATE);
	}

	public void putFloat(String key, float value) {
		SharedPreferences.Editor editor = mSharedPreferences.edit();
		editor.putFloat(key, value);
		editor.commit();
	}

	public float getFloat(String key) {
		float arg = mSharedPreferences.getFloat(key, 0);
		return arg;
	}

	public void putString(String key, String value) {
		SharedPreferences.Editor editor = mSharedPreferences.edit();
		editor.putString(key, value);
		editor.commit();
	}

	public String getString(String key) {

		String arg = mSharedPreferences.getString(key, "0");
		return arg;
	}

	public String[] getStringArray(String key) {
		String regularEx = "#~";
		String[] str = null;
		String values;
		values = mSharedPreferences.getString(key, "");
		str = values.split(regularEx);
		return str;
	}

	public void putStringArray(String key, String[] values) {
		String regularEx = "#~";
		if (values != null && values.length > 0) {
			StringBuilder sbBuilder  = new StringBuilder();
			for (String value : values) {
				sbBuilder.append(value).append(regularEx);
			}
			SharedPreferences.Editor et = mSharedPreferences.edit();
			et.putString(key, sbBuilder.toString());
			et.commit();
		}
	}

	public void clear() {
		SharedPreferences.Editor editor = mSharedPreferences.edit();
		editor.clear();
		editor.commit();
	}
}



© 著作权归作者所有

共有 人打赏支持
SuShine
粉丝 126
博文 574
码字总数 157991
作品 0
朝阳
后端工程师
私信 提问
Android四种数据存储方式

存储方式 Android提供以下四种存储方式: SharePreference SQLite File ContentProvider Android系统中数据基本都是私有的,一般存放在“data/data/程序包名”目录下。如果要实现数据共享,正...

我家的猫跳楼了
2015/09/09
35
0
你最了解的 SharedPreference和ContentProvider 知多少?

在技术学习的道路上,往往最常见、用的最多地方,却有着容易忽略的技术细节。某个时间点蓦然回首,才发现最应该了解和掌握的技术基础,却由于缺少总结和记录、或者是因为常态思维固化缺少场景...

常兴E站
2018/04/01
0
0
Android中SharedPreference多进程数据共享出错

SharedPreference作为android五大存储(网络,数据库,文件,SharedPreference,contentProvider)之中最方便使用的一个,从类名上来看就不是一个存储大数据的工具,以key/value成对的形式来存...

Drealin
2014/01/22
0
0
关于sharedPreference的总结

很多时候我们开发的软件需要向用户提供软件参数设置功能,例如我们常用的QQ,用户可以设置是否允许陌生人添加自己为好友。对于软件配置参数的保存,如果是window软件通常我们会采用ini文件进...

无一物
2012/09/27
0
0
【Android游戏开发十二】(保存游戏数据 [上文])详解SharedPreference 与 FIleInputStream/FileOutputStream将数据存储到SD卡中!

李华明Himi 原创,转载务必在明显处注明: 转载自【黑米GameDev街区】 原文链接: http://www.himigame.com/android-game/327.html 很多童鞋说我的代码运行后,点击home或者back后会程序异常,...

迷途d书童
2012/03/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

泛型就这么简单

前言 从今天开始进入Java基础的复习,可能一个星期会有一篇的<十道简单算法>,我写博文的未必都是正确的~如果有写错的地方请大家多多包涵并指正~ 今天要复习的是泛型,泛型在Java中也是个很...

群星纪元
55分钟前
7
0
大数据提醒你:中国这些古建筑,可能是下一个巴黎圣母院!

大家晚上好,我是今天的提笔人嗅嗅。 巴黎圣母院失火事件让我的心情很沉重,一句无关痛痒的安慰“巴黎不哭”,已经不能表达我对这场文化之殇的惋惜之痛,人类伟大的建筑在一瞬间被毁灭。 世界...

forespider
今天
0
0
mysql函数substring_index的用法

substring_index 按索引字符位进行截取字符串 substring_index(“待截取的字符串”,“截取数据依据的字符”,截取字符的位置N) 第三个参数可正,可负。正数表示索引字符前面的字符串,负数...

echojson
今天
4
0
好程序员web前端分享用CSS和JS打造一个简单的图片编辑器

好程序员web前端分享用CSS和JS打造一个简单的图片编辑器,本文主要是利用CSS的 filter和简单的Jquery代码来实现一个简单的图片编辑器,包括对图片的透明度,黑白,图片亮度等调节。 CSS filt...

好程序员IT
今天
2
0
浅析spring mvc的细节

spring mvc 整体结构 系统监听到请求 -> 通知tomcat -> 根据web.xml 通知相应的拦截器(spring mvc 通常指DispatcherServlet) --> 检查url是否有相匹配的请求实现 --> 拿到请求实现bean的适配...

最爱肉肉
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部