【发布时间】:2018-06-19 17:38:16
【问题描述】:
我正在学习 Android 中的 RxJava2。谁能解释一下我们如何使用 RxJava2 将数据插入 SQLiteDatabase。 这是我尝试使用的代码示例,但它将数据插入数据库六次;
//点击
getCompletableObservable()
.subscribeOn(Schedulers.io())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(getCompletableObserver());
//可观察的
private Completable getCompletableObservable(){
return Completable.create(new CompletableOnSubscribe() {
@Override
public void subscribe(CompletableEmitter emitter) throws Exception {
addData();
if(!emitter.isDisposed())
emitter.onComplete();
}
});
}
//观察者
CompletableObserver getCompletableObserver(){
return new CompletableObserver() {
@Override
public void onSubscribe(Disposable d) {
}
@Override
public void onComplete() {
showMessage("Student Added Sucessfully");
}
@Override
public void onError(Throwable e) {
showMessage(e.getMessage()+"");
}
};
}
//添加方法
try {
DatabaseHelper db = new DatabaseHelper(DemoRxJava.this);
db.open();
String c = db.AddData(new Student(random.nextInt(1000)+"",SName.getText().toString(),SContact.getText().toString(),SEmail.getText().toString()));
Log.d("StudentData",c);
db.close();
}catch (Exception e){
}
【问题讨论】:
标签: android rx-java2 rx-android