Android-Retrofit2+Rxjava2之网络请求数据、错误预处理-开始篇

释放双眼,带上耳机,听听看~!

MVP结构也用了很久了。也有用MVVM的,MVC的,不过目前MVC用的比较少了(界面里面代码偏多,不好维护)。关于MVVM是谷歌WPF早年提出的Presentation Model与系统结合的方式,解耦了View和Model。 Android里面主要是利用DataBinding完成双向绑定。

关于模式基本结束推荐一篇文章,小白感觉还可以,至于以后会不会靠MVVM,看后面的具体实践再说和MVP的优缺点吧。

http://www.jishudog.com/4662/html

小白的两个公司项目都是MVP,感觉还好,虽然可能presenter会比较多。但是如果你的数据不会怎么变化的话,完全还可以利用泛型进行网络的二次封装,有可能几个请求方法就可以把所有的数据请求都包括,到时候你只需要传传入特定的参数,请求的方式,希望得到的对象类型即可!!还是蛮方便的。。小白的我正在做第三次封装。

第一次封装:关于请求错误的的预处理(无网络,解析错误,安全问题,连接错误,token过期等统一处理);过程中有涉及到cookie的定义读写

第二次封装:封装请求到的数据预处理(根据code进行判断:1. 如果正确返回数据 2.如果错误或者token过期返回失败 3.请求获取的request_time的存储以及传递给下一次请求 4.还可以根据请求增加其他的自定义处理)

将会进行的第三方封装:所有的网络请求基本统一由一个或多个接口提供,主要分为get和post方式,方便维护; 分别根据类型生成不同的服务,利用泛型做统一的请求调用getPostData 、 getGetData即可。不再分特别多的Presenter, 简化下文件和代码。

小白封装涉及到的一些个文件:

目前Cookies相关的已经用第三方的CookieJar替代了。不过我们还是可以记录下自己如何拦截和处理cookie。其他的主要就是Retrofit工具类的封装以及相关的数据处理了。

service文件夹里面是具体的网络请求,红色部分就是封装的后数据返回对象:

还要利用泛型做类似如下的一些处理:

请求的数据根据code进行统一预处理

这里就简单过一下,扫一眼。。泛型小白已经学有个开始篇了,还会深入学下一下。小白目前基本用没问题,但是还没有系统的学习,所以还欠缺很多。 另外关于接口,回调的相关处理也是需要我们思考和整理完善的。 这样我们做封装的时候才能有点游刃有余。

OK,我怕一直写一篇,字数超过了。所以后面我们再挨个看下相关知识点…好烦…

心灵鸡汤:

—-幸福就像一个沙漏,你觉得它是在一点一滴的流逝着;还是在一点一滴的累积

人已赞赏
Android文章

Android UI库整理

2019-10-14 11:27:30

Android文章

Android-使用阿里VLayout实现类似淘宝主页面

2019-10-14 15:35:52

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
有新消息 消息中心
搜索