Android(安卓)网络处理
16lz
2021-01-24
Android的网络有比较多的处理方式,可以直接使用HttpURLConnection,也可以使用Okttp或HttpClient,无论使用哪一种方式,都会面临维护、升级以及更换(比如将HttpClient更换为Okhttp)的问题。如果在各业务逻辑上直接调用网络组件的方法,以上问题处理起来并不容易,满世界去修改。
那么,一种方法是将网络模块封装起来,业务层都访问网络获取数据接口,接口使用具体的网络处理来实现,如下图
这样都简单了一些,可是,这里要面临是的http的各种方法,get,post,put,delete,header,各方法都具有同步与异步处理,那么这里将会有10个方法,还需要面对网络错误处理问题,SSO中的Token过期问题,那么按这种方式这些问题需要在业务逻辑层来处理,也不太方便。
将网络处理,SSO问题,同步异步问题提取到一个类封装处理,将会简单一些,看第二种方法:
业务层只对接封装好了网络处理的DataProvider类,获取网络状态,网络处理,错误处理,SSO问题,Header封装都将放在DataProvider上,那么业务层只专注于数据的逻辑处理,不用关心网络处理情况,会舒心许多。
更多相关文章
- okhttp3 拦截器源码分析
- Android(安卓)Handler 机制
- Flutter 与 Android(安卓)的交互
- Android(安卓)Studio—— 关于在Android(安卓)Studio中使用Asset
- Android(安卓)中 startService()启动service的过程分析
- 说说 Android(安卓)的内容提供器(ContentResolver )
- Android(安卓)Tab切换之Fragment方法
- Android视图绘制流程解析(二)
- Android(安卓)MediaPlayer和VideoView的使用