RxJava - Single Observable
Die Einzelklasse repräsentiert die Einzelwertantwort. Single Observable kann nur einen einzelnen erfolgreichen Wert oder einen Fehler ausgeben. Das Ereignis onComplete wird nicht ausgegeben.
Klassenerklärung
Es folgt die Erklärung für io.reactivex.Single<T> Klasse -
public abstract class Single<T>
extends Object
implements SingleSource<T>
Protokoll
Es folgt das sequentielle Protokoll, das Single Observable ausführt:
onSubscribe (onSuccess | onError)?
Einzelbeispiel
Erstellen Sie das folgende Java-Programm mit einem beliebigen Editor Ihrer Wahl, z. B. in C: \> RxJava.
ObservableTester.java
import java.util.concurrent.TimeUnit;
import io.reactivex.Single;
import io.reactivex.disposables.Disposable;
import io.reactivex.observers.DisposableSingleObserver;
import io.reactivex.schedulers.Schedulers;
public class ObservableTester {
public static void main(String[] args) throws InterruptedException {
//Create the observable
Single<String> testSingle = Single.just("Hello World");
//Create an observer
Disposable disposable = testSingle
.delay(2, TimeUnit.SECONDS, Schedulers.io())
.subscribeWith(
new DisposableSingleObserver<String>() {
@Override
public void onError(Throwable e) {
e.printStackTrace();
}
@Override
public void onSuccess(String value) {
System.out.println(value);
}
});
Thread.sleep(3000);
//start observing
disposable.dispose();
}
}
Überprüfen Sie das Ergebnis
Kompilieren Sie die Klasse mit javac Compiler wie folgt -
C:\RxJava>javac ObservableTester.java
Führen Sie nun den ObservableTester wie folgt aus:
C:\RxJava>java ObservableTester
Es sollte die folgende Ausgabe erzeugen -
Hello World