网络缓存的逻辑
网络缓存很多方式都可以实现,有时候,可以将缓存写在本地文件中, 以MD5(url)为文件名, 以json为文件内容保存,如果缓存写在文件中, 先找文件MD5(url)存不存在,如果存在,说明有缓存.
今天不用这一种 因为我们缓存的数据并不大
新建一个工具类CacheUtils
* 原则:
* 以url+参数为key, 以json为value,保存起来
PrefUtils是我写的一个工具类 参看
http://www.cnblogs.com/AceIsSunshineRain/p/5185178.html
这样在初始化数据的时候判断是否有缓存 如果有 再用Gson解析一遍 ,如果没有再请求网络并把数据缓存在本地,
再初始化数据的时候既要读取缓存也要链接网络更新缓存.
public class CacheUtils { /** * 写缓存 */ public static void setCache(String url, String json, Context ctx) { PrefUtils.putString(url, json, ctx); } /** * 读缓存 */ public static String getCache(String url, Context ctx) { return PrefUtils.getString(url, null, ctx); } }