Android SharedPreferencesHelper简单封装

本文提供了一个针对SharedPreferences的简单封装类,方便开发者进行数据存储和读取操作。通过初始化和使用该类,可以轻松地保存和获取应用的数据。

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

先赌为快:


public class SharedPreferencesHelper {

    private static SharedPreferencesHelper helper;
    private SharedPreferences mSharedPreferences;
    private static SharedPreferences.Editor mEditor;

    private SharedPreferencesHelper(Context context, String baseKeyName) {
        mSharedPreferences = context.getSharedPreferences(baseKeyName, Context.MODE_PRIVATE);
        mEditor = mSharedPreferences.edit();
    }

    public static SharedPreferencesHelper init(Context context, String baseKeyName) {
        if (helper == null) {
            helper = new SharedPreferencesHelper(context.getApplicationContext(), baseKeyName);
        }
        return helper;
    }

    public static SharedPreferencesHelper getHelper() {
        checkNotNull();
        return helper;
    }

    public static SharedPreferences.Editor getEditor() {
        checkNotNull();
        return mEditor;
    }

    public static SharedPreferencesHelper putValue(String key, String value) {
        getEditor().putString(key, value).commit();
        return getHelper();
    }

    public static SharedPreferencesHelper putValue(String key, boolean value) {
        getEditor().putBoolean(key, value).commit();
        return getHelper();
    }

    public static SharedPreferencesHelper putValue(String key, float value) {
        getEditor().putFloat(key, value).commit();
        return getHelper();
    }

    public static SharedPreferencesHelper putValue(String key, long value) {
        getEditor().putLong(key, value).commit();
        return getHelper();
    }

    public static SharedPreferencesHelper putValue(String key, int value) {
        getEditor().putInt(key, value).commit();
        return getHelper();
    }

    public static SharedPreferencesHelper putValue(String key, Set<String> value) {
        getEditor().putStringSet(key, value).commit();
        return getHelper();
    }

    public static <T> T getValue(String key, T defaultValue) {
        return getAll().get(key) == null ? defaultValue : (T) getAll().get(key);
    }

    public static boolean clearAll() {
        return getEditor().clear().commit();
    }

    public static boolean removeValue(String key) {
        return getEditor().remove(key).commit();
    }

    public static Set<String> getSet(String key, Set<String> defValues) {
        return getHelper().mSharedPreferences.getStringSet(key, defValues);
    }

    public static Map<String, ?> getAll() {
        return getHelper().mSharedPreferences.getAll();
    }

    private static void checkNotNull() {
        if (helper == null) {
            throw new ExceptionInInitializerError("Helper未初始化,请在Application中初始化");
        }
    }
}

使用方法

1、Application初始化:


SharedPreferencesHelper.init(this,"你的KeyName");


2、使用方法

存放数据

SharedPreferencesHelper.put("a",0);

或者

SharedPreferencesHelper.putValue("a",0).putValue("b",1);


获取数据

SharedPreferencesHelper.getValue("a",3);//3是默认数据,如果没有a字段,那么将返回3


简单封装,抛砖引玉。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值