【问题标题】:Android Room with RxJava3带有 RxJava3 的 Android 房间
【发布时间】:2020-03-06 15:01:25
【问题描述】:

有没有办法通过RxJava3 使用Room 数据库?

当我尝试从 Query 房间返回 ObservableSingle 时出现以下错误:

error: Not sure how to convert a Cursor to this method's return type public abstract io.reactivex.rxjava3.core.Single<java.util.List<com.osama.movieshow.data.movie.Movie>> getAllFavorites();

我的房间查询:

@Query("select * from favorites") fun getAllFavorites():Single<List<Movie>>

我正在从import io.reactivex.rxjava3.core.Single 导入Single

【问题讨论】:

    标签: observable android-room


    【解决方案1】:

    Room 现在支持 Rxjava3。使用下面的依赖;

    implementation "androidx.room:room-rxjava3:2.3.0-alpha02"
    

    【讨论】:

    【解决方案2】:

    看看 RxJava 桥接库 [https://github.com/akarnokd/RxJavaBridge#rxjavabridge] 有了它,您应该能够将 rxjava2 类型转换为 rxjava3 类型。 它由 RxJava 的维护者维护。

    另一件需要注意的事情是 Jetpack 发行说明 Alpha 通道 [https://developer.android.com/jetpack/androidx/versions/alpha-channel?hl=en] 这应该列出即将发生的事情。不幸的是,我在任何地方都没有看到 rxjava3 绑定,而且我不知道 Google 是否计划维护这一点,但留意一下也不错。

    【讨论】:

    • RxJava3 for Room 是怎么做的?
    猜你喜欢
    • 1970-01-01
    • 2021-11-24
    • 2020-05-06
    • 1970-01-01
    • 2021-12-31
    • 1970-01-01
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多