碰到这个知识点是因为切换viewpager会销毁条目,我想把下载状态保存起来,然后切换回来再从json里面取出来。后来发现了一个更加简便的方法,不过前提是你的页数不要太多要不然很费内存。即为:Viewpager.setOffscreenPageLimit(int limit);//其中limit为一侧内缓存的页数,默认是1,具体可以看开发文档。
正文:
将list转化为Json
1、获取到你要转化的list对象
2、导入Gson框架
3、通过Gson将list转化为jsonStr
4、通过fileoutputstream将jsonStr写入到文档中
具体代码如下:
Gson gson = new Gson();
String jsonStr =gson.toJson(list);
try {
FileOutputStream fos = new FileOutputStream(new File("E:\pbjson.json"));\\这里可以写你想要放的地址
Writer writer = new OutputStreamWriter(fos);
writer.write(jsonStr);
writer.flush();
writer.close();
} catch (Exception e) {
e.printStackTrace();
}
将JsonStr转化为List对象
Gson gson = new Gson();
pbEntities = (List<pbEntity>) gson.fromJson(jsonStr, pbEntity.class);//方法同,类换一下就可以了