RxJava - Operatoren erstellen

Im Folgenden sind die Operatoren aufgeführt, mit denen ein Observable erstellt wird.

Sr.Nr. Betreiber & Beschreibung
1

Create

Erstellt ein Observable von Grund auf neu und ermöglicht es der Beobachtermethode, programmgesteuert aufzurufen.

2

Defer

Erstellen Sie kein Observable, bis ein Beobachter es abonniert hat. Erstellt für jeden Beobachter ein neues Observable.

3

Empty/Never/Throw

Erstellt ein Observable mit eingeschränktem Verhalten.

4

From

Konvertiert eine Objekt- / Datenstruktur in eine Observable.

5

Interval

Erstellt eine beobachtbare emittierende Ganzzahl nacheinander mit einer Lücke des angegebenen Zeitintervalls.

6

Just

Konvertiert eine Objekt- / Datenstruktur in eine Observable, um denselben oder denselben Objekttyp auszugeben.

7

Range

Erstellt eine beobachtbare emittierende Ganzzahl in der Reihenfolge des angegebenen Bereichs.

8

Repeat

Erstellt wiederholt eine beobachtbare emittierende Ganzzahl nacheinander.

9

Start

Erstellt ein Observable, um den Rückgabewert einer Funktion auszugeben.

10

Timer

Erstellt ein Observable, um nach einer bestimmten Verzögerung ein einzelnes Element auszugeben.

Operator-Beispiel erstellen

Erstellen Sie das folgende Java-Programm mit einem beliebigen Editor Ihrer Wahl, z. B. in C: \> RxJava.

ObservableTester.java

import io.reactivex.Observable;
//Using fromArray operator to create an Observable
public class ObservableTester  {
   public static void main(String[] args) { 
      String[] letters = {"a", "b", "c", "d", "e", "f", "g"};
      final StringBuilder result = new StringBuilder();
      Observable<String> observable = Observable.fromArray(letters);
      observable
         .map(String::toUpperCase)
         .subscribe( letter -> result.append(letter));
      System.out.println(result);
   }
}

Ü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 -

ABCDEFG