【问题标题】:Retrofit with rxjava使用 rxjava 进行改造
【发布时间】:2016-11-07 06:43:07
【问题描述】:

我在 Android 上使用 Retrofit,我想使用 RxJava。

只使用 Retrofit 很好,但使用 RxJava 对我来说有点困难。

你能告诉我该怎么做吗?

我写了一个如下所示的界面,但我不确定应该在 ??????????? 处使用什么选项?

提前致谢。

@GET("users")
Observable<??????????????> getUserById (@Query("id") int id);

@GET("users")
Observable<??????????????> getUserByName (@Query("name") String name);

@GET("users")
Observable<??????????????> getAllUsers ();

【问题讨论】:

  • 其实你需要什么?你实际上使用它是正确的

标签: android rx-java retrofit2


【解决方案1】:

正如您所写,您对Retrofit 有过体验。通常你的网络调用会返回Call&lt;{type}&gt;,其中type是你从API返回的对象。

在这里,您只需将 Call 替换为 Observable。所以你的函数可能看起来像:

@GET("users")
Observable<User> getUserById (@Query("id") int id);

@GET("users")
Observable<User> getUserByName (@Query("name") String name);

@GET("users")
Observable<List<User>> getAllUsers ();

RxJavaRetrofit的使用教程见here

【讨论】:

  • 谢谢扎戈尔斯基。真的很有帮助。
【解决方案2】:
 Retrofit retrofit = new Retrofit.Builder()
                .baseUrl(YOUR API URL).addConverterFactory(GsonConverterFactory.create()).addCallAdapterFactory(RxJavaCallAdapterFactory.createWithScheduler(Schedulers.io()))
                .build();

并添加

compile 'com.squareup.retrofit2:retrofit:2.0.1'
compile 'com.squareup.retrofit2:adapter-rxjava:2.0.1'

毕业。

Here 是一个参考示例

【讨论】:

    猜你喜欢
    • 2018-05-03
    • 2016-01-29
    • 1970-01-01
    • 2018-11-06
    • 2017-01-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-26
    相关资源
    最近更新 更多