本地 sharedPreferences 保存list 和获取list /** * 保存List * * @param tag * @param datalist */ public static <T> void setDataList(String tag, List<T> datalist) { if (sharedPreferences == null) { sharedPreferences = MyApplication.getContext().getSharedPreferences(CONFIG, Context.MODE_PRIVATE); } SharedPreferences.Editor editor = sharedPreferences.edit(); if (null == datalist || datalist.size() <= 0) return; Gson gson = new Gson(); //转换成json数据,再保存 String strJson = gson.toJson(datalist); editor.putString(tag, strJson); editor.commit(); }
/** * 获取保存的List * @param key key * @return 对应的Lis集合 */ public static <T> List<T> getListData(String key, Class<T> cls) { if (sharedPreferences == null) { sharedPreferences = MyApplication.getContext().getSharedPreferences(CONFIG, Context.MODE_PRIVATE); } List<T> list = new ArrayList<>(); String json = sharedPreferences.getString(key, ""); if (!json.equals("") && json.length() > 0) { Gson gson = new Gson(); JsonArray array = new JsonParser().parse(json).getAsJsonArray(); for (JsonElement elem : array) { list.add(gson.fromJson(elem, cls)); } } return list; }