¿Cómo ejecutar 2 consultas secuencialmente en un Android RxJava Observable?
Quiero ejecutar 2 tareas asincrónicas, una seguida de la otra (secuencialmente). He leído algo sobre ZIP o Flat, pero no lo entendí muy bien ...
Mi propósito es cargar los datos de un SQLite local, y cuando finaliza, llama la consulta al servidor (remoto).
¿Alguien puede sugerirme una forma de lograr eso?
Este es el esqueleto observable de RxJava que estoy usando (tarea única):
// 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);