新的SharedPreference 操作类, 简化了使用的参数

本文介绍了一个用于Android应用程序中简单XML数据操作的实用类DataStoreUtil。该类提供了一系列方法来帮助开发者更方便地进行SharedPreferences的读写操作,包括初始化、存储和获取不同类型的值等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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();
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值