RxJava Async Aufgabe in Android
Ich versuche, eine asynchrone Aufgabe mit RxJava in Android zu implementieren. Ich habe den folgenden Code ausprobiert und es hat nicht funktioniert. Es wird auf dem UI-Thread ausgeführt. Ich verwende die folgende Version von RxAndroid 0.24.0.
try {
Observable.just(someMethodWhichThrowsException())
.subscribeOn(Schedulers.newThread())
.observeOn(AndroidSchedulers.mainThread())
.subscribe(s -> onMergeComplete());
} catch (IOException e) {
e.printStackTrace();
}
Das Folgende funktioniert bei mir jedoch asynchron.
Observable observable = Observable.create(new Observable.OnSubscribe<String>() {
@Override
public void call(Subscriber<? super String> subscriber) {
try {
someMethodWhichThrowsException();
} catch (IOException e) {
e.printStackTrace();
}
subscriber.onCompleted();
}
});
observable.subscribeOn(Schedulers.newThread()).observeOn(AndroidSchedulers.mainThread()).subscribe();
Ich versuche Folgendes zu verstehen: 1. Was ist der Unterschied zwischen ihnen? 2. Was ist die beste Vorgehensweise beim Erstellen von asynchronen Aufgaben?
Danke im Voraus