如何为Android缓存数据到本地
缓存到底要缓存些什么呢?其实缓存要么缓存的是你从服务器拿到的json数据,要么缓存的是你解析json后得到的集合或者对象,也就是说,等你访问网络成功后,解析完json数据后,把你得到的集合或者对象用文件的形式存到本地。
比如:你从服务器拿到json数据后解析完之后得到的集合是 ArrayList<SubjectInfo> mData = new ArrayList<>()
,SubjectInfo是一个对象,那么这时候 你要做的就是把 mData集合用文件的形式存到本地去, 怎么存呢?看代码
1. 获取文件名
2. 缓存数据到本地
3. 读取本地缓存
保存数据调用 CacheData.saveAllSubList(PrefHelperUtils.getInstance().getUserUid(), studentId, mData);
这样就可以将mData用文件的形式写到本地
从本地获取数据调用 ListallSubList=CacheData.getAllSubList(PrefHelperUtils.getInstance().getUserUid(), studentId);
这样就可拿到保存到本地的集合;
说明:
PrefHelperUtils.getInstance().getUserUid()是用户的id,我是用sp保存到本地的;
需要注意的问题
如果有对象的话 那么这个对象必须实现Serializable接口,不然 不能成功!