Android的网络有比较多的处理方式,可以直接使用HttpURLConnection,也可以使用Okttp或HttpClient,无论使用哪一种方式,都会面临维护、升级以及更换(比如将HttpClient更换为Okhttp)的问题。如果在各业务逻辑上直接调用网络组件的方法,以上问题处理起来并不容易,满世界去修改。

那么,一种方法是将网络模块封装起来,业务层都访问网络获取数据接口,接口使用具体的网络处理来实现,如下图

这样都简单了一些,可是,这里要面临是的http的各种方法,get,post,put,delete,header,各方法都具有同步与异步处理,那么这里将会有10个方法,还需要面对网络错误处理问题,SSO中的Token过期问题,那么按这种方式这些问题需要在业务逻辑层来处理,也不太方便。

将网络处理,SSO问题,同步异步问题提取到一个类封装处理,将会简单一些,看第二种方法:

业务层只对接封装好了网络处理的DataProvider类,获取网络状态,网络处理,错误处理,SSO问题,Header封装都将放在DataProvider上,那么业务层只专注于数据的逻辑处理,不用关心网络处理情况,会舒心许多。

更多相关文章

  1. okhttp3 拦截器源码分析
  2. Android(安卓)Handler 机制
  3. Flutter 与 Android(安卓)的交互
  4. Android(安卓)Studio—— 关于在Android(安卓)Studio中使用Asset
  5. Android(安卓)中 startService()启动service的过程分析
  6. 说说 Android(安卓)的内容提供器(ContentResolver )
  7. Android(安卓)Tab切换之Fragment方法
  8. Android视图绘制流程解析(二)
  9. Android(安卓)MediaPlayer和VideoView的使用

随机推荐

  1. android 的handler 机制
  2. 【转】Android内核开发:如何统计系统的启
  3. Rexsee API介绍:Android照片、视频拍摄,Cam
  4. Android的系统架构
  5. android内存自动清理机制和android垃圾回
  6. android消息机制总结
  7. Android的Handler Looper Message机制应
  8. android移植 十之一 lcd课题
  9. 掌握Android中的进程和线程
  10. Android自定义控件——仿ios开关按钮