我是RxAndroid的新手,并尝试使用Room数据库进行相同的操作。但是问题是,当将数据插入数据库时,我显示的进度条会被阻塞并且缓慢。我为该项目推荐了this blog
public void insertBillPayments(final CallBackParams params,
BillPaymentsOffline... payments) {
Completable.fromAction(() -> db.daoAccess().insertBillPayments(payments))
.observeOn(AndroidSchedulers.mainThread())
.subscribeOn(Schedulers.io())
.subscribe(new CompletableObserver() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onComplete() {
params.getCallback().onOrderAdded(params);
}
@Override
public void onError(Throwable e) {
params.getCallback().onDataNotAvailable(params);
}
});
}
如果我做错了什么,请纠正我。
答案 0 :(得分:1)
这段代码看起来不错,但是我建议您切换observeOn
和subscribeOn
的调用以提高清晰度,因为subscribeOn
适用于流,observeOn
适用于发射值和之后应用的功能。