美文网首页术业专攻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