android - 我们应该为 Rxjava3 使用哪个 rxjava3 改造适配器

标签 android retrofit rx-java rx-java2

我正在使用 RxJava3 和改造,但我无法为 RxJava3 获得 rxjava3 改造适配器。

最佳答案

现在有一个 2.9.0 版本的官方改造实现:

只需使用您创建改造客户端的适配器:

val rxAdapter = RxJava3CallAdapterFactory.create()
retrofit = Retrofit.Builder().baseUrl(baseUrl)
            .addConverterFactory(MoshiConverterFactory.create(moshi))
            .client(httpClient)
            .addCallAdapterFactory(rxAdapter).build()

并在您的 build.gradle 中包含 RxAdapter 依赖项:
implementation 'com.squareup.retrofit2:adapter-rxjava3:2.9.0'

https://github.com/square/retrofit/blob/master/CHANGELOG.md#version-290-2020-05-20

同样来自文档:

Unlike the RxJava 1 and RxJava 2 adapters, the RxJava 3 adapter's create() method will produce asynchronous HTTP requests by default. For synchronous requests use createSynchronous() and for synchronous on a scheduler use createWithScheduler(..)

关于android - 我们应该为 Rxjava3 使用哪个 rxjava3 改造适配器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60606941/

相关文章:

Android:关闭软键盘时显示空白

java - Android Retrofit API 使用

android - RxAndroid 中如何观察网络变化

java - 如何从一组样本创建 Observable?

android - 如何自定义 FloatingActionButton 的大小

android - Android 应用程序上不显示数字键盘

java - 在android中根据端口(网络发现)在本地网络上查找机器

android - 将 Retrofit 实例保存在内存中是一种好习惯吗?

android - 在 Retrofit 中创建动态对象请求

java - Flux.take(x) 或 Flux.all(..) 不会等待所有排放