SharePreferences 工具类

6 篇文章 0 订阅
3 篇文章 0 订阅
public class SharedPreferencesUtil
{

	/**
	 * 通用分享文件名
	 */
	private final String commonShareName = "Test";

	private Context ctx;

	private SharedPreferences sharedPreferences;

	/**
	 * 关键字
	 */
	public interface Key
	{
		/**
		 * Key
		 */
		public final static String TESTKEY = "key";
	}

	/**
	 * 默认构造函数
	 */
	public SharedPreferencesUtil()
	{

	}

	/**
	 * <默认构造函数>
	 */
	public SharedPreferencesUtil(final Context ctx)
	{
		this.ctx = ctx;
		if (ctx == null)
		{
			Log.e("SharedPreferencesUtil", "Context is null");
			return;
		}
		sharedPreferences = this.ctx.getSharedPreferences(commonShareName, Activity.MODE_PRIVATE);
	}

	/**
	 * 保存键值 包含事务,如果一次要保存多值不建议使用,性能有损耗
	 * 
	 * @param key
	 *            保存的键
	 * @param value
	 *            保存的值
	 * @see [类、类#方法、类#成员]
	 */
	public void saveStringValue(String key, String value)
	{
		if (sharedPreferences == null) { return; }

		Editor edit = sharedPreferences.edit();
		edit.putString(key, value);
		edit.commit();
	}

	/**
	 * 获取String值
	 * 
	 * @param key
	 *            保存的键
	 * @param defaultValue
	 *            默认的值
	 * @return 键对应的值
	 */
	public String readStringValue(String key, String defaultValue)
	{
		if (sharedPreferences == null) { return defaultValue; }

		return sharedPreferences.getString(key, defaultValue);
	}

	/**
	 * 保存键值 包含事务,如果一次要保存多值不建议使用,性能有损耗
	 * 
	 * @param key
	 *            保存的键
	 * @param value
	 *            保存的值
	 * @see [类、类#方法、类#成员]
	 */
	public void saveBooleanValue(String key, boolean value)
	{
		if (sharedPreferences == null) { return; }

		Editor edit = sharedPreferences.edit();
		edit.putBoolean(key, value);
		edit.commit();
	}

	/**
	 * 获取String值
	 * 
	 * @param key
	 *            保存的键
	 * @param defaultValue
	 *            默认的值
	 * @return 键对应的值
	 */
	public boolean readBooleanValue(String key, boolean defaultValue)
	{
		if (sharedPreferences == null) { return defaultValue; }

		return sharedPreferences.getBoolean(key, defaultValue);
	}

	/**
	 * 保存键值 包含事务,如果一次要保存多值不建议使用,性能有损耗
	 * 
	 * @param key
	 *            保存的键
	 * @param value
	 *            保存的值
	 * @see [类、类#方法、类#成员]
	 */
	public void saveIntValue(String key, int value)
	{
		if (sharedPreferences == null) { return; }

		Editor edit = sharedPreferences.edit();
		edit.putInt(key, value);
		edit.commit();
	}

	/**
	 * 获取String值
	 * 
	 * @param key
	 *            保存的键
	 * @param defaultValue
	 *            默认的值
	 * @return 键对应的值
	 */
	public int readIntValue(String key, int defaultValue)
	{
		if (sharedPreferences == null) { return defaultValue; }
		return sharedPreferences.getInt(key, defaultValue);
	}

	/**
	 * 
	 * 保存内容到SharedPreferences
	 * 
	 * @param context
	 * @param map
	 *            保存的内容,键值对的形式
	 */
	public void saveSharedPreferences(Context context, Map<String, Object> map)
	{
		Editor editor = sharedPreferences.edit();

		Set<String> set = map.keySet();
		for (String key : set)
		{
			editor.putString(key, (String) map.get(key));
		}

		editor.commit();
	}

	/**
	 * 
	 * 删除某条SharedPreferences
	 * 
	 * @param context
	 * @param map
	 *            保存的内容,键值对的形式
	 */
	public void removeSharedPreferences(Context context, String key)
	{
		Editor editor = sharedPreferences.edit();

		editor.remove(key);

		editor.commit();
	}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值