1、我要存取的数据类型是一个集合,集合里面的元素类型是数组,ArrayList<String[]>,为了方便,我在这里定义一个常量数据,大家实际使用过程中用动态数据即可
private static final ArrayList<String[]> data = new ArrayList<String[]>() {
{
add(new String[] {"1", "11", "111", "1111", "11111"});
add(new String[] {"2", "22", "222", "2222", "22222"});
}
};
2、保存数据
private static void saveData(Context context) {
SharedPreferences sharedPreferences = context.getSharedPreferences("key1", Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPreferences.edit();
Gson gson = new Gson();
String json = gson.toJson(data);
editor.putString("key2", json);
editor.apply();
}
3、获取保存的数据
private static ArrayList<String[]> getSavedData(Context context) {
SharedPreferences sharedPreferences = context.getSharedPreferences("key1", Context.MODE_PRIVATE);
String dataString = sharedPreferences.getString("key2", "");
Gson gson = new Gson();
Type type = new TypeToken<ArrayList<String[]>>() {}.getType();
return gson.fromJson(dataString, type);
}