2 つの非同期タスクを実行したいと考えています。ZIP や Flat について何か読んだことがありますが、よくわかりませんでした...
私の目的は、ローカル SQLite からデータをロードすることです。完了すると、クエリがサーバー (リモート) に呼び出されます。
誰かがそれを達成する方法を私に提案できますか?
これは、私が使用している RxJava Observable スケルトンです (単一タスク):
// RxJava Observable
Observable.OnSubscribe<Object> onSubscribe = subscriber -> {
try {
// Do the query or long task...
subscriber.onNext(object);
subscriber.onCompleted();
} catch (Exception e) {
subscriber.onError(e);
}
};
// RxJava Observer
Subscriber<Object> subscriber = new Subscriber<Object>() {
@Override
public void onCompleted() {
// Handle the completion
}
@Override
public void onError(Throwable e) {
// Handle the error
}
@Override
public void onNext(Object result) {
// Handle the result
}
};
Observable.create(onSubscribe)
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(subscriber);