不确定如何处理插入方法的返回类型

use*_*558 0 android rx-java android-room

不确定如何处理插入方法的返回类型。

@Dao
interface ProductDao {

    @Insert(onConflict = OnConflictStrategy.REPLACE)
    fun insertAlll( product:List<Product>):List<Product>
}
Run Code Online (Sandbox Code Playgroud)
 override fun getFactoriProduct(): Observable<List<Product>> {
        return Observable.create { emitter ->
            api.getProductRemote()
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe({
                    if (it != null) {
                        emitter.onNext(db.productDao().insertAlll(it))
                        Timber.e("request->$it")
                    }
                }, {
                    emitter.onNext(db.productDao().getProduct())
                    it.printStackTrace()
                    Timber.e("ErrorRequest->$it")
                })
        }
    }
Run Code Online (Sandbox Code Playgroud)

活动.kt


 fun init() {
        mainViewmodel.getProduct().subscribe {
            val adapter = ProductAdapter(it)
            RecyclerView2.layoutManager = LinearLayoutManager(this, LinearLayout.HORIZONTAL, false)
            RecyclerView2.adapter = adapter
            adapter.update(it)
        }.addTo(this.CompositeDisposable)
Run Code Online (Sandbox Code Playgroud)

如何处理插入方法的返回类型。公共抽象 java.util.List insertAll(@org.jetbrains.annotations.NotNull()

DHA*_*IYA 5

根据本文档

使用 @Insert 注释的方法可以返回:

  • long 单次插入操作
  • long[] 或 Long[] 或 List 用于多个插入操作
  • 如果您不关心插入的 ID,则无效