【问题标题】:Room and RX Java房间和 RX Java
【发布时间】:2018-11-19 09:44:20
【问题描述】:

我有一个提交数据表的方法。

private void saveItemsToDB(List<NewsEntity> newsEntityList) {
     Disposable disposable = Completable.fromCallable((Callable<Void>) () -> {
            newsDatabase.getNewsDao().deleteAll();
            Utils.log("******Delete All******");
           
            for (NewsEntity newsEntity : newsEntityList) {
                Utils.log("******Save " + newsEntity + "******");
                newsDatabase.getNewsDao().insert(newsEntity);
            }
            return null;
        })
                .subscribeOn(Schedulers.io())
                .observeOn(AndroidSchedulers.mainThread())
                .subscribe();
        compositeDisposable.add(disposable);
    }

我需要将它们保存到数据库中。我和房间一起工作。有一种方法

  @Insert(onConflict = OnConflictStrategy.REPLACE)
  void insertAll(NewsEntity... newsEntities);
  
  @Insert(onConflict = OnConflictStrategy.REPLACE)
  void insert(NewsEntity newsEntity);

没有保存Link

【问题讨论】:

    标签: rx-java2 android-room


    【解决方案1】:

    根据RxJava2 文档,不允许通过rx 链传递null。我想,这就是问题的根源。

    Completable.fromCallable((Callable<Void>) () -> {
        ...
        return null; // don't do this
    })
    

    如果您不想退货,请使用Completable.fromAction()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-05
      相关资源
      最近更新 更多