Ganti EventBus Dengan ReactiveX

Kemunculan RxJava dan RxAndroid cukup membuat saya sungguh sangat bahagia walaupun library ini cukup besar namun ternyata sebanding dengan fitur yang dimiliki olehnya. Nah adakah disini temen — temen yang biasa menggunakan eventbus? Atau masih belum tau? Disini kita akan bahas dikit bagi yang belum tau.

Api Itu EventBus?

EventBus adalah sebuah open source library yang di buat oleh greenrobot.org untuk repository githubnya disini.

Android optimized event bus that simplifies communication between Activities, Fragments, Threads, Services, etc. Less code, better quality

Intinya dengan eventbus ini memungkinkan untuk mengirimkan sebuah object antar thread atau antar class. Salah satunya adalah untuk handle push notification.

Misalkan ketika suatu activity tertentu sedang di buka maka kita ingin membuat atau memberikan action berpindah fragment atau activity atau hal lainya ketika ada push notification.

Contoh sederhana disini adalah whatsapp ketika kita sedang membuka halaman chat dalam halaman chat akan bertambah data pesan baru ketika ada notification.

Nah berikut ini sedikit contoh implentasi dari event bus ini :

Cukup mudah bukan? Ya memang sangat mudah menggunakan eventbus ini. Namun jika kita sudah menambahkan library rxjava dan rxandroid kita tidak perlu lagi menambahkan library eventbus ini, kita bisa membuat eventbus versi kita sendiri dengan rx ini. Ok gimana cara ok lanjut scroll ke bawah.

EventBus dengan ReactiveX

Sebelum kita lanjut mengganti eventbus ini dengan ReactiveX kita perlu tau dulu apa sih sebenarnya yang dilakukan oleh eventbus ini. Berikut ini sedikit penjelasan tentang hal yang dilakukan oleh EventBus :

EventBus is an open-source library for Android using the publisher/subscriber pattern for loose coupling.

Jadi intinya untuk melakukan eventbus ini ada dua hal yang perlu di lakukan yaitu dengan publisher dan subscriber, ada yang mengirim dan ada yang menerima. Jadi intinya kita perlu method untuk mengitim dan menerima antar thread. Dalam hal ini kita akan menggunakan Subject RxJava

A Subject is a sort of bridge or proxy that acts both as an Subscriber and as an Observable. Because it is a Subscriber, it can subscribe to one or more Observables, and because it is an Observable, it can pass through the items it observes by reemitting them, and it can also emit new items.

Jadi Subject RxJava ini adalah sebagai penghubung antar thread yang bisa kita jadikan sebagai tempat untuk melakukan publis dan subscribe.

Ok sekarang kita langsung praktek.

Nah selanjuntya kita register ke activity atau fragment yang akan menjadi subsciber.

Nah bagaimana cukup mudah bukan? Banyak hal yang bisa dilakukan oleh Subject RxJava ini silahkan baca disini untuk lebih mendalam tentang Subject RxJava.

Ok teman — teman tunggu saja tutorial selanjutnya dari saya mengenai rx dan banyak hal lainya tentang android development. Silahkan share tutorial ini supaya temen — temen yang lain juga bertambah pengetahuanya.

Jangan malu — malu bertanya kalau ada yang ingin ditanyakan kalau saya ada waktu saya akan usahakan jawab kalau saya tidak bisa kita cari tau sama — sama. Kalau memungkinkan jawaban dari pertanyaan temen — temen akan saya jawab berupa tutorial. Sampai jumpa di tutorial selanjutnya guys.

Like what you read? Give Ahmad Rosid a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.