Http封装:
http的封装是基于Okhttp3,我们自己构建了一个reqBase作为最基准的异步get请求方法。请求String 、IO流、图片都是通过这个接口
还有就是上传用到的post请求。比如我们这边自己有做统一的错误处理。并且对缓存有自己的处理方式,通过请求头的信息添加,来去判断是否有最新的数据从而重新请求。
Request:
这是对Http封装之后的运用,只用于数据的请求,而不对数据进行保存。这一层会对网络状态(有网没网)进行统一的判断和处理。
有对reqBase做二次加工封装,一些关键逻辑的流程:
//可以从缓存中拿到数据,如果NEED_NETWORK,就重新请求
reqBase(final String url, final Object obj, Async.IBase iBase, String sLastModified){
reqImg//请求图片
reqIO//请求AD
reqString//请求内容
在handleCacheByMode拿到是否需要网络的状态,并且如果遇到不需要处理LastModified就将result参数设置为空
}
handleCacheByMode(iBase,path, sCacheValue, msg, mode){
根据CacheMode的mode不同来返回不同的状态结果
handleResult()来通过iBase的类型不同来传递不同的接口回调
处理请求头的getFileLastModified信息
}
DataMng:
暴露给UI层的接口。对数据的封装,排序,常量的保存
JsonParser用于解析json数据。生成接口所对应需要的实体。
网友评论