İçerikler :

Action Action İle Observable Örneği Birden Fazla Observable Çalıştırma En Basit Bir Hello Örneği Obseravable Akışı Observable OnSubscribe ReactiveX RxJava RxMarbles: Interactive diagrams of Rx Observa.. Subscriber Subscriber ile basit Bir Observable Örneği

Bu Sayfayı Paylaş:

Kavram

ReactiveX

Tanım: Reaktif programlamaya uygun (observer pattern, iterator pattern, fonksiyonel programlama) geliştirme yapılması için kullanılan, farklı dillerde (Java, Javascript, C#, Scala, C++, Ruby, Python, Php vb..) desteği bulunan API.

Kavram

RxJava

Tanım: ReactiveX projesinin Java API'si

Kaynak

RxMarbles: Interactive diagrams of Rx Observables

ReactiveX projesi ile ilgili diagramlar

Kavram

Observable

Tanım: Olay veya bildirim üreten ve bunları dinleyen sınıflara bildirilmesini sağlayan sınıf. subscribe metodu ile dinleyici ve abone (subscriber) ekleme yapılabilmektedir.

Kavram

Subscriber

Tanım: Başka nesneler üzerindeki değişikliği (Observable sınıfları) veya olayları bildirim olarak alan sınıf. onCompleted , onError, onNext metotları bulunmaktadır.

Kavram

OnSubscribe

Tanım: Bir subscriber abone olduğu anda çalışan kod eklemek için kullanılan sınıf

Kavram

Action

Tanım: Bir observable'e eklenebilen ve olay olduğu zaman dinleyebilen sınıf. Observable sınıfının subscribe metodu ile bir Action kayıt edilebilir.

Materyal

Obseravable Akışı

Observable ile ilgili bir diagram

Örnek

En Basit Bir Hello Örneği

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.

Örnek

Birden Fazla Observable Çalıştırma

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.

Örnek

Action İle Observable Örneği

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.

Örnek

Subscriber ile basit Bir Observable Örneği

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.



Bu Sayfayı Paylaş:

İletişim Bilgileri

Takip Et

Her Hakkı Saklıdır. Bu sitede yayınlanan tüm bilgi ve fikirlerin kullanımından fibiler.com sorumlu değildir. Bu sitede üretilmiş , derlenmiş içerikleri, fibiler.com'u kaynak göstermek koşuluyla kendi sitenizde kullanılabilirsiniz. Ancak telif hakkı olan içeriklerin hakları sahiplerine aittir