协同使用Retrofit 2和RxAndroid

  RxAndroid是RxJava在Android上的扩展。在Retrofit 2使用方法举例中,使用了 Call<T> 的形式定义接口,此外也可以使用自定义类型如 MyCall<T> ,Retrofit通过CallAdapter来适配不同的接口类型。Retrofit 2提供了RxJavaCallAdapterFactory,可以同来适配RxAndroid。

  下面的例子在Retrofit 2使用方法举例的基础上,介绍协同使用Retrofit 2和RxAndroid的方法。

1. 添加RxAndroid和adapter-rxjava

  首先要添加RxAndroid和adapter-rxjava,在bulid.gradle中加入:

【完整代码】

2. 修改接口

  将接口修改为 Observable<T> 的形式:

【完整代码】

3. 使用RxJavaCallAdapterFactory

  在创建Retrofit的时候,加入RxJavaCallAdapterFactory:

【完整代码】

4. 使用RxAndroid

  然后就可以使用RxAndroid了:

【完整代码】

5. 完整代码

  完整代码可以参考这里