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
网友评论