Belajar ReactiveX Android

Apa itu ReactiveX?

Sebelum kita memahami reactivex kita pelajari sedikit tentang Reactive Programming. Menurut wikipedia reactive programming adalah :

A programming paradigm oriented around data flows and the propagation of change.

Nah kalo menurut pemahaman saya reactive programming itu adalah programming yang berorientasi pada data flow dan perubahan data yang mana data itu bisa data yang statis atau dinamis. Simplenya gini dengan menggunakan reactive programming kita berfokus dalam pengolahan data . Misalkan begini, bagamana kita mengolah data stream Integer menjadi string, atau memfilter data yang akan di gunakan dan yang lainya. Nah silahkan kalian baca lebih detilnya di wikipedia untuk pengertian reactive programming.

Sekarang kita bahas ReactiveX, reactivex dalam situs resminya mengatakan begini :

ReactiveX is a library for composing asynchronous and event-based programs by using observable sequences.

Jadi ReactiveX itu simplenya adalah library yang bisa kita gunakan untuk implementasi dari reactive programming. ReactiveX ini meng extend Observer Pattern. Dalam reactivex sumberdata kita letak kan dalam class Observable dan di publish kedalam class Subscriber. Pada suatu kondisi bisa saja data yang di terima oleh Subscriber berbeda dengan data dari Observable. Subcriber tidak perduli dengan pengolahan data yang dilakukan di Observable, Subcriber haya menerima kembalian data sesuai yang telah di tetapkan, apakan itu inter, string atau yang lainya. Untuk library reactivex itu sendiri tersedia untuk beberapa macam bahasa pemrogramman kalian bisa cek disini.

Basic ReactiveX

Sebenarnya ReactiveX ini bisa digunakan di beberapa bahasa pemrograman. Tetapi di sini kita akan coba untuk mengimplentasikan dalam bahasa pemgrograman java. Dalam reactive x itu ada beberapa cara untuk mendeklarasikan variabel berikut ini cara yang paling basic.

Kemudian untuk cara yang lain adalah seperti berikut :

Kita juga bisa membuat object data kita sendiri. Berikut ini misalkan kita buat object model data User.

Kemudian untuk membuat observablenya seperti berikut ini :

BIsa juga jika ingin membuat data arraynya :

Berikut ini kita coba implementasikan kedalam aplikasi android. Bagainama cara menggunakan reactivex ini. Ok yang pertama jelas kita perlu menambahkan dependensi dari rx ini :

Nah sebelum masuk ke android kita liat contoh code sederhada berikut ini bagaimana menggunaka rxjava yang paling sederhana/

Code di atas adalah contoh sederhana penggunaan RactiveX pada java. Nah kalau di android begini :

Operator Dalam ReactiveX

Di ReactiveX ada istilah operator yang mana fungsinya bisa kita gunakan untuk melakukan beberapa proses, misalnya kita akan melakukan filtering dimana ketika ada data integer yang ganjil akan di tampilkan dan yang tidak ganjil tidak di tampilkan. Berikut ini contohnya disini saya akan bahas untuk di android. Disini kita akan coba membuat data string kita rubah menjadi integer menggunakan Operator Map.

Kita juga bisa menggunakan map lebih dari satu, berikut ini contoh nya :

Untuk penggunaan data yang objectnya kita buat sendiri seperti ini :

Ada macam — macam operator lain di dalam rx java kalian bisa baca lebih detailnya disini. Nah mungkin kali ini kita belajar sampai sini dulu silahkan tinggalkan komen jika ingin bertanya. Untuk source code dari latihan ini kalian bisa liat disini. Dan sampai jumpa di artikel selanjutnya.