android - 我们应该为 Rxjava3 使用哪个 rxjava3 改造适配器
问题描述
我正在使用 RxJava3 和改造,但我无法为 RxJava3 获得 rxjava3 改造适配器。
解决方案
现在有一个 2.9.0 版本的官方改造实现:
只需使用您创建改造客户端的适配器:
val rxAdapter = RxJava3CallAdapterFactory.create()
retrofit = Retrofit.Builder().baseUrl(baseUrl)
.addConverterFactory(MoshiConverterFactory.create(moshi))
.client(httpClient)
.addCallAdapterFactory(rxAdapter).build()
并将 RxAdapter 依赖项包含在您的build.gradle
:
implementation 'com.squareup.retrofit2:adapter-rxjava3:2.9.0'
https://github.com/square/retrofit/blob/master/CHANGELOG.md#version-290-2020-05-20
同样来自文档:
与 RxJava 1 和 RxJava 2 适配器不同,RxJava 3 适配器的 create() 方法默认会产生异步 HTTP 请求。对于同步请求,使用 createSynchronous(),对于调度程序上的同步,使用 createWithScheduler(..)
推荐阅读
- sql - 电子邮件地址作为 SQL 中的表
- django - 替换 django `render_options`
- angularjs - x 多个 ng-repeats 的角度指令,底层数组集合的深度未知
- swift - 使用多次上传更新 Firebase 数据库对象
- python - 从 Pandas DataFrame 中删除所有非字母数字字符
- dart - dart2js:在编译时清理 HTML 空白
- vba - 如何根据 VBA 中的预定义索引从另一个工作表中复制和粘贴一系列单元格
- azure - 尝试在 IoT Hub 中设置文件上传时未找到存储帐户
- android - 我怎么得到!(感叹号)出现在模拟器上的 wifi / 网络连接旁边,以便我可以解决错误
- dynamic - 红移。我们如何(动态地)将表从列转置为行?