//偏好设置存储list
public static <T> void saveVideoSP(Context context, String tableName, String key, List<T> datalist) {
SharedPreferences preferences = context.getSharedPreferences(tableName, Context.MODE_PRIVATE);
SharedPreferences.Editor editor = preferences.edit();
Gson gson = new Gson();
String strJson = gson.toJson(datalist);
editor.clear();
editor.putString(key, strJson);
editor.commit();
}
//偏好设置取出list
public static <T> List<T> getVideoSP(Context context, String tableName, String key) {
if (context == null || tableName == null || key == null) {
return null;
}
SharedPreferences sharedPreferences = context.getSharedPreferences(tableName, Context.MODE_PRIVATE);
List<T> datalist = new ArrayList<>();
String strJson = sharedPreferences.getString(key, null);
if (strJson == null) {
return datalist;
}
Gson gson = new Gson();
datalist = gson.fromJson(strJson, new TypeToken<List<T>>() {}.getType());
return datalist;
}
其中 tableName 为表名,key 为一个 String 类型的标识。