В моем приложении для Android я хочу обновить части записи базы данных (используя Room), а затем прочитать всю запись из базы данных, как только обновление будет завершено.
После прочтения документации RxJava Completable я ожидал public final Single andThen( SingleSource далее), чтобы сделать эту работу за меня. Но следующий фрагмент кода регистрирует только "Completeable". "Single" и "From Single" не регистрируются.
import io.reactivex.Completable;
import io.reactivex.CompletableEmitter;
import io.reactivex.CompletableOnSubscribe;
import io.reactivex.Single;
import io.reactivex.functions.Consumer;
Completable completable = Completable.create(new CompletableOnSubscribe() {
@Override
public void subscribe(CompletableEmitter e) throws Exception {
Log.e(LOG, "Completable");
}
});
Single<Long> single = Single.fromCallable(new Callable<Long>() {
@Override
public Long call() throws Exception {
Log.e(LOG, "Single");
return Long.valueOf(123);
}
});
completable.andThen(single).subscribe(new Consumer<Long>() {
@Override
public void accept(@NonNull Long aLong) throws Exception {
Log.e(LOG, "From Single: " + aLong.toString());
}
}, new Consumer<Throwable>() {
@Override
public void accept(@NonNull Throwable throwable) throws Exception {
Log.e(LOG, "Error from Single");
}
});