网络架构浅析

image.png

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数据。生成接口所对应需要的实体。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容