Aşağıda yapılabilecek en basit bir örnek görülmektedir:
import rx.Observable;
public class HelloPrint {
public static void main(String[] args) {
Observable<String> o = Observable.just("Merhaba RxJava!");
o.subscribe(System.out::println);
}
}
just ile basit bir Observable yaratılmıştır. Bu observable ile abone olunduğu an (subscribe çağrıldığı zaman) Merhaba RxJava yazısı ekranda gözükecektir.
Aşağıdaki örnekte birden fazla Observable çalıştırılmaktadır :
import rx.Observable;
public class HelloPrintArray {
public static void main(String[] args) {
String[] arrays={"Merhaba","Hi","Nehaber","WhatsUp"};
Observable<String> o = Observable.from(arrays);
o.subscribe(System.out::println);
}
}
Bu uygulama çalıştırıldığında arrays içindeki tüm mesajlar ekrana basılacaktır. subscribe ile abone olunduğunda dizideki tüm değerler için println işlemi çalışacaktır.
Aşağıdaki örnekte Action kullanılacaktır.
Basit bir Action1 sınıfı yapalım :
import rx.functions.Action1;
public class HelloAction implements Action1<String>{
@Override
public void call(String t) {
System.out.println("bildirim geldi : "+t);
}
}
Bu sınıfı kullanacak Observable yapalım :
import rx.Observable;
public class HelloTest {
public static void main(String[] args) {
Observable<String> myObservable =
Observable.just("Merhaba RxJava!");
myObservable.subscribe(new HelloAction());
}
}
subscribe metoduna action verilmiştir. Action verilir verilmez ekranda Merhaba RxJava basılacaktır.
Başka basit bir abone sınıfı:
import rx.Subscriber;
public class MySubscriber extends Subscriber<String>{
@Override
public void onCompleted() {}
@Override
public void onError(Throwable arg0) {}
@Override
public void onNext(String arg0) {
System.out.println("Bildirim geldi : "+arg0);
}
}
Bu sınıf bir Observable'a aşağıdaki gibi abone yapılır :
import rx.Observable;
import rx.Subscriber;
public class ObservableTest {
public static void main(String[] args) {
Observable.OnSubscribe<String> onSubscriber=new Observable.OnSubscribe<String>() {
@Override
public void call(Subscriber<? super String> t) {
t.onNext("Merhaba RxJava");
t.onCompleted();
}
};
Observable<String> myObservable = Observable.create(onSubscriber);
myObservable.subscribe(new MySubscriber());
}
}
onSubscriber ile abonelik olduğu zaman çalışacak kod bölümü yazılmıştır. subscribe metodu ile abone olunduğunda onSubscriber içindeki kod çalışır.