RxJava - การสร้างตัวดำเนินการ
ต่อไปนี้เป็นตัวดำเนินการที่ใช้ในการสร้าง Observable
ซีเนียร์ | ตัวดำเนินการและคำอธิบาย |
---|---|
1 | Create สร้าง Observable ตั้งแต่เริ่มต้นและอนุญาตให้วิธีการสังเกตการณ์สามารถเรียกแบบเป็นโปรแกรมได้ |
2 | Defer อย่าสร้าง Observable จนกว่าผู้สังเกตการณ์จะสมัครสมาชิก สร้างสิ่งที่สังเกตได้ใหม่สำหรับผู้สังเกตการณ์แต่ละคน |
3 | Empty/Never/Throw สร้างสิ่งที่สังเกตได้ด้วยพฤติกรรมที่ จำกัด |
4 | From แปลงวัตถุ / โครงสร้างข้อมูลเป็น Observable |
5 | Interval สร้างจำนวนเต็มเปล่งแสงที่สังเกตได้ตามลำดับโดยมีช่องว่างของช่วงเวลาที่กำหนด |
6 | Just แปลงโครงสร้างวัตถุ / ข้อมูลเป็นวัตถุที่สังเกตได้เพื่อปล่อยวัตถุประเภทเดียวกันหรือชนิดเดียวกัน |
7 | Range สร้างจำนวนเต็มเปล่งแสงที่สังเกตได้ตามลำดับของช่วงที่กำหนด |
8 | Repeat สร้างจำนวนเต็มเปล่งแสงที่สังเกตได้ตามลำดับซ้ำ ๆ |
9 | Start สร้าง Observable เพื่อส่งคืนค่าของฟังก์ชัน |
10 | Timer สร้าง Observable เพื่อปล่อยไอเท็มเดียวหลังจากดีเลย์ที่กำหนด |
การสร้างตัวดำเนินการตัวอย่าง
สร้างโปรแกรม Java ต่อไปนี้โดยใช้โปรแกรมแก้ไขที่คุณเลือกใน 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);
}
}
ตรวจสอบผลลัพธ์
รวบรวมคลาสโดยใช้ javac คอมไพเลอร์ดังนี้ -
C:\RxJava>javac ObservableTester.java
ตอนนี้เรียกใช้ ObservableTester ดังนี้ -
C:\RxJava>java ObservableTester
ควรให้ผลลัพธ์ดังต่อไปนี้ -
ABCDEFG