首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >房间支持RxJava 3

房间支持RxJava 3
EN

Stack Overflow用户
提问于 2020-06-14 19:05:08
回答 4查看 3.6K关注 0票数 6

我在项目中使用带有文件室的RxJava3,但收到以下错误

错误:不确定如何将游标转换为此方法的返回类型(io.reactivex.rxjava3.core.Flowable>)

下面是我收到错误的DAO接口方法

代码语言:javascript
复制
@Query("SELECT * FROM wishlist_table")
Flowable<List<WishListMovie>> getWishList();

我想这可能是因为我在成绩文件中使用了下面的依赖项:

代码语言:javascript
复制
implementation "androidx.room:room-rxjava2:$room_version"

我试图找到RxJava 3的上述依赖项,但我找不到它。

我想知道如何在房间中使用RxJava 3,或者我应该在项目中使用RxJava 2。

EN

回答 4

Stack Overflow用户

发布于 2020-07-24 06:39:06

2020年7月22日

Room 2.3.0-alpha02中添加了对RxJava3类型的支持。虽然它仍然是alpha,但你可以考虑这个选项。

根据版本描述:

与RxJava2类似,您可以声明DAO方法,它们的返回类型是可流动的、单一的、可能的和可完成的。

此外,还提供了一个新的工件androidx.room:room-rxjava3来支持RxJava3

票数 8
EN

Stack Overflow用户

发布于 2020-06-14 19:34:37

问题

我想知道如何在房间中使用RxJava 3,或者我应该在项目中使用RxJava 2。

结果

您不能将RxJava3与Room -rxjava2依赖一起使用。

解释

RxJava2和RxJava3是不同的。为了避免运行时错误(例如在链接期间),RxJava3选择了不同的包。这就是为什么返回的类型不匹配(不同的包)

解决方案

在出现room-rxjava3包之前,您必须使用RxJava2作为依赖项。

解决方法

您可以签出room-rxjava2,更改所有用于rxjava3的包,并在rxjava3上编译,然后使用此包。

票数 3
EN

Stack Overflow用户

发布于 2020-07-21 00:40:48

当前正在更新项目,但有相同的问题。

我使用room-rxjava2生成带有RxJava2类型的DAO(和前面一样)。但是对于我的业务逻辑,我使用https://github.com/akarnokd/RxJavaBridge来转换为RxJava3类型。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62371640

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档