美文网首页术业专攻Android程序员
retrofit+Rxjava,多服务器地址封装.回调接口封装

retrofit+Rxjava,多服务器地址封装.回调接口封装

作者: 起个名字好烦呀 | 来源:发表于2018-03-14 15:49 被阅读41次

retrofit的使用已经有很长时间了.如何引用,自行搜索.

1.当前项目,作为BaseUrl的域名(ip地址)有多个.

封装RetrofitUtils工具类.讲BaseUrl作为Map的key,Retrofit实例对象为Value.

当前是kotlin的写法,核心就是map存储retrofit.

2.网络请求的response需要统一处理

retrofit+Rxjava ,其实就是多一句.addCallAdapterFactory(RxJavaCallAdapterFactory.create()),给Retrofit一个观察者.

重写回调,进行统一处理就好了.obs需要实例化.因为可以使用obs.unsubscribe(),在Activity关闭的时候取消回调事件,防止引发异常.

3.如何重写

书写api的时候,我们定义一个结构类Test(名字自定义)

rspCode,RepDesc是错误码及错误原因.info是详情.

泛型变量info可是是任意内容的实体类.通过api传递

回调中,因为我们强行给apiService添加了Test外层类.所以可以直接指定Subscribe的外层泛型.内层泛型,我们通过集成的方式传递.

于是,可以在onNext中统一的处理返回码.然后通过onsuccess进行回调

demo: https://github.com/QunCheung/Retrofit-Rxjava-CallBack.git

相关文章

网友评论

    本文标题:retrofit+Rxjava,多服务器地址封装.回调接口封装

    本文链接:https://www.haomeiwen.com/subject/kqvfqftx.html