SP工具类

public class SharePreferenceUtils {

private SharedPreferences mSharedPreferences;
private SharedPreferences.Editor mEditor;

public SharePreferenceUtils(Context context, String fileName) {
    mSharedPreferences = context.getSharedPreferences(fileName,
            Context.MODE_PRIVATE);
    mEditor = mSharedPreferences.edit();
}

/**
 * 存储
 */
public void put(String key, Object object) {
    if (object instanceof String) {
        mEditor.putString(key, (String) object);
    } else if (object instanceof Integer) {
        mEditor.putInt(key, (Integer) object);
    } else if (object instanceof Boolean) {
        mEditor.putBoolean(key, (Boolean) object);
    } else if (object instanceof Float) {
        mEditor.putFloat(key, (Float) object);
    } else if (object instanceof Long) {
        mEditor.putLong(key, (Long) object);
    } else {
        mEditor.putString(key, object.toString());
    }
    mEditor.commit();
}

/**
 * 获取保存的数据
 */
public Object getSharedPreference(String key, Object defaultObject) {
    if (defaultObject instanceof String) {
        return mSharedPreferences.getString(key, (String) defaultObject);
    } else if (defaultObject instanceof Integer) {
        return mSharedPreferences.getInt(key, (Integer) defaultObject);
    } else if (defaultObject instanceof Boolean) {
        return mSharedPreferences.getBoolean(key, (Boolean) defaultObject);
    } else if (defaultObject instanceof Float) {
        return mSharedPreferences.getFloat(key, (Float) defaultObject);
    } else if (defaultObject instanceof Long) {
        return mSharedPreferences.getLong(key, (Long) defaultObject);
    } else {
        return mSharedPreferences.getString(key, null);
    }
}

/**
 * 移除某个key值已经对应的值
 */
public void remove(String key) {
    mEditor.remove(key);
    mEditor.commit();
}

/**
 * 清除所有数据
 */
public void clear() {
    mEditor.clear();
    mEditor.commit();
}

/**
 * 查询某个key是否存在
 */
public Boolean contain(String key) {
    return mSharedPreferences.contains(key);
}

/**
 * 返回所有的键值对
 */
public Map<String, ?> getAll() {
    return mSharedPreferences.getAll();
}

/**
 * 保存List
 * @param tag
 * @param datalist
 */
public <T> void setDataList(String tag, List<T> datalist) {
    if (null == datalist || datalist.size() <= 0)
        return;

    Gson gson = new Gson();
    //转换成json数据,再保存
    String strJson = gson.toJson(datalist);
    mEditor.clear();
    mEditor.putString(tag, strJson);
    mEditor.commit();

}

/**
 * 获取List
 * @param
 * @return
 */

// public List getDataList(String tag) {
// List datalist=new ArrayList();
// String strJson = sharedPreferences.getString(tag, null);
// if (null == strJson) {
// return datalist;
// }
// Gson gson = new Gson();
// datalist = gson.fromJson(strJson, new TypeToken<List>() {
// }.getType());
// return datalist;
//
// }

public  <T> List<T> getDataList(String jsonString,Class<T> cls){
    List<T> list = new ArrayList<T>();
    String strJson = mSharedPreferences.getString(jsonString, null);
    if (null == strJson) {
        return list;
    }
    try {
        Gson gson = new Gson();
        JsonArray arry = new JsonParser().parse(strJson).getAsJsonArray();
        for (JsonElement jsonElement : arry) {
            list.add(gson.fromJson(jsonElement, cls));
        }
    } catch (Exception e) {
        e.printStackTrace();
    }
    return list;
}

}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值