安卓一个简易的缓存工具类

在安卓开发中开发者经常会使用到SharedPreferences来进行缓存,如果每次都写command的话会非常浪费时间并增加开发效率,本人自己写了一个缓存工具类目前使用的情况非常好,在此分享给大家,具体代码如下

public class PrefUtils
{

    

    //主要用来保存判断状态 可以运用到保存Checkbox等复选框状态中
    public static boolean getBoolean(Context ctx, String key,
                                     boolean defaultValue)
    {
        SharedPreferences sp = ctx.getSharedPreferences(PREF_NAME,
                Context.MODE_PRIVATE);
        return sp.getBoolean(key, defaultValue);
    }


    //用来保存文字
    public static String getString(Context ctx, String key, String defaultValue)
    {
        SharedPreferences sp = ctx.getSharedPreferences(PREF_NAME,
                Context.MODE_PRIVATE);
        return sp.getString(key, defaultValue);
    }

    public static void setString(Context ctx, String key, String value)
    {
        SharedPreferences sp = ctx.getSharedPreferences(PREF_NAME,
                Context.MODE_PRIVATE);
        sp.edit().putString(key, value).commit();
    }

    //用来保存数字 主要运用在保存单选框的选择状态中
    public static int getInt(Context ctx, String key, int defaultValue)
    {
        SharedPreferences sp = ctx.getSharedPreferences(PREF_NAME,
                Context.MODE_PRIVATE);
        return sp.getInt(key, defaultValue);
    }

    public static void setBoolean(Context ctx, String key, boolean value)
    {
        SharedPreferences sp = ctx.getSharedPreferences(PREF_NAME,
                Context.MODE_PRIVATE);
        sp.edit().putBoolean(key, value).commit();
    }

    public static void setInt(Context ctx, String key, int value)
    {
        SharedPreferences sp = ctx.getSharedPreferences(PREF_NAME,
                Context.MODE_PRIVATE);
        sp.edit().putInt(key, value).commit();
    }
}

上面代码为工具类,具体使用此工具类时当要对缓存内容直接保存的时候直接通过PrefUtils.setString/Int/boolean(),的方式来进行存储,该函数参数分别文上下文,对应的key值和要保存的内容,在取出时只要使用PrefUtils.getString/Int/boolean()的方式通过获取key就可以直接获取缓存对象非常方便

你可能感兴趣的:(安卓缓存机制)