android - 在Android中使用Room插入数据时,获取Single作为回报而不是长
问题描述
我正在使用 Room 在 SQLite DB 中插入数据,如下所示。插入查询可以返回 void、long 或 long 数组。当我使用 RxJava 在工作线程上插入和检索对象时,有什么方法可以获得 Single 。
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun addNotification(notification: Notification): Single<Long>
解决方案
从版本 2.1.0-alpha01 开始,@Insert 注解的方法可以返回 Single。
额外的 Rx 返回类型支持:使用 @Insert、@Delete 或 @Update 注释的 DAO 方法现在支持 Rx 返回类型Completable、Single和Maybe。b/63317956
来源:https ://developer.android.com/jetpack/androidx/releases/room#2.1.0-alpha01
因此,您只需要使用可用的最新版本即可:
implementation("androidx.room:room-rxjava2:2.1.0-alpha06")
推荐阅读
- express - 如何用目的地模拟皮诺
- linux-kernel - 内核崩溃后如何获取kdump?
- angular-cli - Angular CLI - ng serve --serve-path
- sql - Postgres 行级安全性不允许更新限制性选择策略
- r - r shiny - 使用 imageOutput() 和 renderImage() 绘制多个图像
- python - 如何在python中为乌龟制作闪烁效果?
- javascript - 将参数从 npm 构建脚本添加到 javascript 应用程序
- slack - 如何编辑我的 Slack 应用程序的“关于”页面?
- google-apps-script - 更新后使用旧部署
- c# - S3 标记错误 - 您提供的 TagValue 无效