我有一种提交数据表的方法。
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);
}
我需要将它们保存到数据库中。我在Room工作。有办法
@Insert(onConflict = OnConflictStrategy.REPLACE)
void insertAll(NewsEntity... newsEntities);
@Insert(onConflict = OnConflictStrategy.REPLACE)
void insert(NewsEntity newsEntity);
没有保存Link
答案 0 :(得分:0)
根据RxJava2
文档,不允许将null
通过rx链传递。我想,这就是问题的原因。
Completable.fromCallable((Callable<Void>) () -> {
...
return null; // don't do this
})
如果您不想返回任何内容,请使用Completable.fromAction()