当前位置: 首页 > 知识库问答 >
问题:

Android room insert with Completable不工作?用@insert注释的方法可以返回void、long或?

江丰羽
2023-03-14

我使用的版本是

implementation 'io.reactivex.rxjava2:rxjava:2.2.4'
implementation 'io.reactivex.rxjava2:rxandroid:2.1.0'
implementation 'com.jakewharton.rxbinding2:rxbinding:2.0.0'
implementation 'com.jakewharton.retrofit:retrofit2-rxjava2-adapter:1.0.0'
implementation 'android.arch.persistence.room:runtime:2.1.0-alpha04'
kapt 'android.arch.persistence.room:compiler:2.1.0-alpha04'
implementation 'android.arch.persistence.room:rxjava2:2.1.0-alpha04'

刀是

@Insert(onConflict = OnConflictStrategy.REPLACE)
fun insertStore(stores: Stores): Completable

共有1个答案

赵君植
2023-03-14

从这篇关于媒体的伟大文章中,我发现;

从Room 2.1.0-alpha01开始,DAO方法用@Inert、@Delete或@Update注释支持Rx返回类型完成、单个和可能

尽管我使用的是最新版本的房间,但我有这个问题,

implementation 'android.arch.persistence.room:runtime:2.1.0-alpha04'
kapt 'android.arch.persistence.room:compiler:2.1.0-alpha04'
implementation 'android.arch.persistence.room:rxjava2:2.1.0-alpha04'

我发现这个问题是因为在我的项目中使用了androidx,所以为了解决这个问题,我不得不使用androidx房间组件。

implementation 'androidx.room:room-runtime:2.1.0-alpha04'
kapt 'androidx.room:room-compiler:2.1.0-alpha04'
implementation 'androidx.room:room-rxjava2:2.1.0-alpha04'
 类似资料:
  • 我已经使用RxJava编写了一个存储库,但在找到处理对repo的写入和删除的最佳方法时遇到了麻烦。 我找到了2个潜在的解决方案,但不确定它们的正确程度: 1)使用启动一个observable,然后使用副作用方法调用存储库的方法。这是可行的,看起来很奇怪,但它允许我使用RxJava,并允许我指定要订阅的线程/要观察的线程,这使得线程处理变得容易,并且允许存储库的API保持不变,这样它仍然返回void

  • 我相信这是一个愚蠢的问题,但我已经讨论了很久了。。我试图创建一个java程序,根据用户输入的年数和金额计算复利。但我一直遇到一个错误,void方法无法返回值。因此,我将方法切换为double,因为这是将返回的内容,但它告诉我double方法必须返回double。即使我在循环中返回一个双倍。。。请帮忙

  • 问题内容: 我看到的唯一的void返回类型在方法中具有System.out.println语句。因此,一旦调用该方法,这些字符串就会被打印出来。 您是否可以使返回类型为字符串并让该字符串返回而不是执行void返回类型? 如果void返回类型方法中包含其他方法,您能否将返回类型设为该方法给出的值,该值将返回该方法的结果? 什么时候只能使用void返回类型? 问题答案: 有人可以解释Java中的voi

  • 我有这门课(简体) 我试图模拟writeToFile方法,但没有成功 这个结果随着去到原来的方法,我也尝试了模拟具体的方法使用: 编辑:修复导入问题后,正如@pvpkiran所说,现在起作用了!我可以用DoAnswer来验证。

  • 功能注释:PEP-3107 背景:我是PyCharm用户,在Linux上拥有CPython 3.4x。我发现注释函数参数和返回类型很有帮助。当我使用这些方法时,IDE可以更好地提示我。 问题:对于自链接方法,如何注释方法返回值?如果我使用类名,Python会在编译时抛出一个异常: 示例代码: 作为一个技巧,如果我把放在类声明的前面,它就会起作用。然而,我不知道这种技术是否有意想不到的负面副作用。

  • 在给定以下约束的情况下,是否可以以某种方式编译: 您不能向添加任何其他修饰符。 不包含或,您不能更改它。 无法将重写器添加到编译器管道。 您可以更改周围的其他所有内容。