SharedPreferences 存取数组集合

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);
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

却染人间愁

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值