Submit Search
Upload
Rx java in action
•
Download as PPTX, PDF
•
0 likes
•
910 views
Pratama Nur Wijaya
Follow
Presentation slide for Bekraf Developer Day Yogyakarta, 30 July 2016
Read less
Read more
Technology
Report
Share
Report
Share
1 of 30
Download now
Recommended
Android architecture component - FbCircleDev Yogyakarta Indonesia
Android architecture component - FbCircleDev Yogyakarta Indonesia
Pratama Nur Wijaya
Practical RxJava for Android
Practical RxJava for Android
Tomáš Kypta
RxJava in practice
RxJava in practice
Javier Gamarra
An Introduction to RxJava
An Introduction to RxJava
Sanjay Acharya
Introduction to Reactive Java
Introduction to Reactive Java
Tomasz Kowalczewski
Introduction to Retrofit and RxJava
Introduction to Retrofit and RxJava
Fabio Collini
Reactive Java (GeeCON 2014)
Reactive Java (GeeCON 2014)
Tomasz Kowalczewski
RxJava Applied
RxJava Applied
Igor Lozynskyi
Recommended
Android architecture component - FbCircleDev Yogyakarta Indonesia
Android architecture component - FbCircleDev Yogyakarta Indonesia
Pratama Nur Wijaya
Practical RxJava for Android
Practical RxJava for Android
Tomáš Kypta
RxJava in practice
RxJava in practice
Javier Gamarra
An Introduction to RxJava
An Introduction to RxJava
Sanjay Acharya
Introduction to Reactive Java
Introduction to Reactive Java
Tomasz Kowalczewski
Introduction to Retrofit and RxJava
Introduction to Retrofit and RxJava
Fabio Collini
Reactive Java (GeeCON 2014)
Reactive Java (GeeCON 2014)
Tomasz Kowalczewski
RxJava Applied
RxJava Applied
Igor Lozynskyi
Intro to RxJava/RxAndroid - GDG Munich Android
Intro to RxJava/RxAndroid - GDG Munich Android
Egor Andreevich
Practical RxJava for Android
Practical RxJava for Android
Tomáš Kypta
RxJava on Android
RxJava on Android
Dustin Graham
rx-java-presentation
rx-java-presentation
Mateusz Bukowicz
Reactive Java (33rd Degree)
Reactive Java (33rd Degree)
Tomasz Kowalczewski
RxJava from the trenches
RxJava from the trenches
Peter Hendriks
Introduction to rx java for android
Introduction to rx java for android
Esa Firman
Building Scalable Stateless Applications with RxJava
Building Scalable Stateless Applications with RxJava
Rick Warren
Reactive programming with Rxjava
Reactive programming with Rxjava
Christophe Marchal
Reactive Android: RxJava and beyond
Reactive Android: RxJava and beyond
Fabio Tiriticco
Reactive programming on Android
Reactive programming on Android
Tomáš Kypta
RxJava 2.0 介紹
RxJava 2.0 介紹
Kros Huang
GKAC 2015 Apr. - RxAndroid
GKAC 2015 Apr. - RxAndroid
GDG Korea
Reactive programming with RxJava
Reactive programming with RxJava
Jobaer Chowdhury
Reactive Programming on Android - RxAndroid - RxJava
Reactive Programming on Android - RxAndroid - RxJava
Ali Muzaffar
RxJava for Android - GDG DevFest Ukraine 2015
RxJava for Android - GDG DevFest Ukraine 2015
Constantine Mars
RxJava applied [JavaDay Kyiv 2016]
RxJava applied [JavaDay Kyiv 2016]
Igor Lozynskyi
Streams, Streams Everywhere! An Introduction to Rx
Streams, Streams Everywhere! An Introduction to Rx
Andrzej Sitek
Reactive programming in Angular 2
Reactive programming in Angular 2
Yakov Fain
Rxjava 介紹與 Android 中的 RxJava
Rxjava 介紹與 Android 中的 RxJava
Kros Huang
Aggregate Programming through a Soft Modal Logic
Aggregate Programming through a Soft Modal Logic
Alberto Lluch Lafuente
Android antipatterns
Android antipatterns
Bartosz Kosarzycki
More Related Content
What's hot
Intro to RxJava/RxAndroid - GDG Munich Android
Intro to RxJava/RxAndroid - GDG Munich Android
Egor Andreevich
Practical RxJava for Android
Practical RxJava for Android
Tomáš Kypta
RxJava on Android
RxJava on Android
Dustin Graham
rx-java-presentation
rx-java-presentation
Mateusz Bukowicz
Reactive Java (33rd Degree)
Reactive Java (33rd Degree)
Tomasz Kowalczewski
RxJava from the trenches
RxJava from the trenches
Peter Hendriks
Introduction to rx java for android
Introduction to rx java for android
Esa Firman
Building Scalable Stateless Applications with RxJava
Building Scalable Stateless Applications with RxJava
Rick Warren
Reactive programming with Rxjava
Reactive programming with Rxjava
Christophe Marchal
Reactive Android: RxJava and beyond
Reactive Android: RxJava and beyond
Fabio Tiriticco
Reactive programming on Android
Reactive programming on Android
Tomáš Kypta
RxJava 2.0 介紹
RxJava 2.0 介紹
Kros Huang
GKAC 2015 Apr. - RxAndroid
GKAC 2015 Apr. - RxAndroid
GDG Korea
Reactive programming with RxJava
Reactive programming with RxJava
Jobaer Chowdhury
Reactive Programming on Android - RxAndroid - RxJava
Reactive Programming on Android - RxAndroid - RxJava
Ali Muzaffar
RxJava for Android - GDG DevFest Ukraine 2015
RxJava for Android - GDG DevFest Ukraine 2015
Constantine Mars
RxJava applied [JavaDay Kyiv 2016]
RxJava applied [JavaDay Kyiv 2016]
Igor Lozynskyi
Streams, Streams Everywhere! An Introduction to Rx
Streams, Streams Everywhere! An Introduction to Rx
Andrzej Sitek
Reactive programming in Angular 2
Reactive programming in Angular 2
Yakov Fain
Rxjava 介紹與 Android 中的 RxJava
Rxjava 介紹與 Android 中的 RxJava
Kros Huang
What's hot
(20)
Intro to RxJava/RxAndroid - GDG Munich Android
Intro to RxJava/RxAndroid - GDG Munich Android
Practical RxJava for Android
Practical RxJava for Android
RxJava on Android
RxJava on Android
rx-java-presentation
rx-java-presentation
Reactive Java (33rd Degree)
Reactive Java (33rd Degree)
RxJava from the trenches
RxJava from the trenches
Introduction to rx java for android
Introduction to rx java for android
Building Scalable Stateless Applications with RxJava
Building Scalable Stateless Applications with RxJava
Reactive programming with Rxjava
Reactive programming with Rxjava
Reactive Android: RxJava and beyond
Reactive Android: RxJava and beyond
Reactive programming on Android
Reactive programming on Android
RxJava 2.0 介紹
RxJava 2.0 介紹
GKAC 2015 Apr. - RxAndroid
GKAC 2015 Apr. - RxAndroid
Reactive programming with RxJava
Reactive programming with RxJava
Reactive Programming on Android - RxAndroid - RxJava
Reactive Programming on Android - RxAndroid - RxJava
RxJava for Android - GDG DevFest Ukraine 2015
RxJava for Android - GDG DevFest Ukraine 2015
RxJava applied [JavaDay Kyiv 2016]
RxJava applied [JavaDay Kyiv 2016]
Streams, Streams Everywhere! An Introduction to Rx
Streams, Streams Everywhere! An Introduction to Rx
Reactive programming in Angular 2
Reactive programming in Angular 2
Rxjava 介紹與 Android 中的 RxJava
Rxjava 介紹與 Android 中的 RxJava
Viewers also liked
Aggregate Programming through a Soft Modal Logic
Aggregate Programming through a Soft Modal Logic
Alberto Lluch Lafuente
Android antipatterns
Android antipatterns
Bartosz Kosarzycki
RxJava in Action
RxJava in Action
Taeho Kim
RxBinding-kotlin
RxBinding-kotlin
Satoru Fujiwara
Kotlinにお触り
Kotlinにお触り
Shinobu Okano
RxJava+RxAndroid (Lecture 20 – rx java)
RxJava+RxAndroid (Lecture 20 – rx java)
Noveo
Reactive programming on Android
Reactive programming on Android
Tomáš Kypta
Viewers also liked
(7)
Aggregate Programming through a Soft Modal Logic
Aggregate Programming through a Soft Modal Logic
Android antipatterns
Android antipatterns
RxJava in Action
RxJava in Action
RxBinding-kotlin
RxBinding-kotlin
Kotlinにお触り
Kotlinにお触り
RxJava+RxAndroid (Lecture 20 – rx java)
RxJava+RxAndroid (Lecture 20 – rx java)
Reactive programming on Android
Reactive programming on Android
Similar to Rx java in action
Tech Talk #4 : RxJava and Using RxJava in MVP - Dương Văn Tới
Tech Talk #4 : RxJava and Using RxJava in MVP - Dương Văn Tới
Nexus FrontierTech
Functional UIs with Java 8 and Vaadin JavaOne2014
Functional UIs with Java 8 and Vaadin JavaOne2014
hezamu
From zero to hero with the reactive extensions for java script
From zero to hero with the reactive extensions for java script
Maurice De Beijer [MVP]
[JEEConf-2017] RxJava as a key component in mature Big Data product
[JEEConf-2017] RxJava as a key component in mature Big Data product
Igor Lozynskyi
How to Think in RxJava Before Reacting
How to Think in RxJava Before Reacting
IndicThreads
Rx workshop
Rx workshop
Ryan Riley
JavaScript Fundamentals with Angular and Lodash
JavaScript Fundamentals with Angular and Lodash
Bret Little
4Developers 2015: Programowanie synchroniczne i asynchroniczne - dwa światy k...
4Developers 2015: Programowanie synchroniczne i asynchroniczne - dwa światy k...
PROIDEA
Matteo Collina | Take your HTTP server to Ludicrous Speed | Codmeotion Madrid...
Matteo Collina | Take your HTTP server to Ludicrous Speed | Codmeotion Madrid...
Codemotion
Intro to Retrofit 2 and RxJava2
Intro to Retrofit 2 and RxJava2
Fabio Collini
Cycle.js - A functional reactive UI framework
Cycle.js - A functional reactive UI framework
Nikos Kalogridis
Cycle.js - Functional reactive UI framework (Nikos Kalogridis)
Cycle.js - Functional reactive UI framework (Nikos Kalogridis)
GreeceJS
Luis Atencio on RxJS
Luis Atencio on RxJS
Luis Atencio
From zero to hero with the reactive extensions for JavaScript
From zero to hero with the reactive extensions for JavaScript
Maurice De Beijer [MVP]
Rxjs marble-testing
Rxjs marble-testing
Christoffer Noring
Marble Testing RxJS streams
Marble Testing RxJS streams
Ilia Idakiev
RxJS Operators - Real World Use Cases - AngularMix
RxJS Operators - Real World Use Cases - AngularMix
Tracy Lee
Introduction to RxJS
Introduction to RxJS
Abul Hasan
OSGi World Congress Workshop Exercise - P Kriens
OSGi World Congress Workshop Exercise - P Kriens
mfrancis
Compose Async with RxJS
Compose Async with RxJS
Kyung Yeol Kim
Similar to Rx java in action
(20)
Tech Talk #4 : RxJava and Using RxJava in MVP - Dương Văn Tới
Tech Talk #4 : RxJava and Using RxJava in MVP - Dương Văn Tới
Functional UIs with Java 8 and Vaadin JavaOne2014
Functional UIs with Java 8 and Vaadin JavaOne2014
From zero to hero with the reactive extensions for java script
From zero to hero with the reactive extensions for java script
[JEEConf-2017] RxJava as a key component in mature Big Data product
[JEEConf-2017] RxJava as a key component in mature Big Data product
How to Think in RxJava Before Reacting
How to Think in RxJava Before Reacting
Rx workshop
Rx workshop
JavaScript Fundamentals with Angular and Lodash
JavaScript Fundamentals with Angular and Lodash
4Developers 2015: Programowanie synchroniczne i asynchroniczne - dwa światy k...
4Developers 2015: Programowanie synchroniczne i asynchroniczne - dwa światy k...
Matteo Collina | Take your HTTP server to Ludicrous Speed | Codmeotion Madrid...
Matteo Collina | Take your HTTP server to Ludicrous Speed | Codmeotion Madrid...
Intro to Retrofit 2 and RxJava2
Intro to Retrofit 2 and RxJava2
Cycle.js - A functional reactive UI framework
Cycle.js - A functional reactive UI framework
Cycle.js - Functional reactive UI framework (Nikos Kalogridis)
Cycle.js - Functional reactive UI framework (Nikos Kalogridis)
Luis Atencio on RxJS
Luis Atencio on RxJS
From zero to hero with the reactive extensions for JavaScript
From zero to hero with the reactive extensions for JavaScript
Rxjs marble-testing
Rxjs marble-testing
Marble Testing RxJS streams
Marble Testing RxJS streams
RxJS Operators - Real World Use Cases - AngularMix
RxJS Operators - Real World Use Cases - AngularMix
Introduction to RxJS
Introduction to RxJS
OSGi World Congress Workshop Exercise - P Kriens
OSGi World Congress Workshop Exercise - P Kriens
Compose Async with RxJS
Compose Async with RxJS
Recently uploaded
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
Sinan KOZAK
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Miguel Araújo
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
soniya singh
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Rafal Los
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
Paola De la Torre
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
naman860154
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
BookNet Canada
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
ThousandEyes
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
HampshireHUG
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
BookNet Canada
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Drew Madelung
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
ThousandEyes
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
RTylerCroy
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
Allon Mureinik
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
Delhi Call girls
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
Enterprise Knowledge
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
Delhi Call girls
Recently uploaded
(20)
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Transcript: #StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
🐬 The future of MySQL is Postgres 🐘
🐬 The future of MySQL is Postgres 🐘
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
Rx java in action
1.
RxJava in Action Pratama
Nur Wijaya Android Developer - Kulina
2.
RxJava is a
Java VM implementation of ReactiveX (Reactive Extensions): a library for composing asynchronous and event-based programs by using observable sequences. RxJava ?
3.
Why RxJava Avoid callbackhell Easy
to compose and transform async process, combining, filtering, etc Error handling It’s awesome
4.
Cons RxJava - Learning
Curve
5.
Implementation dependencies { compile 'io.reactivex:rxandroid:1.2.1' compile
'io.reactivex:rxjava:1.1.6' }
6.
Observable Observable<String> myObservable =
Observable.create( new Observable.OnSubscribe<String>() { @Override public void call(Subscriber<? super String> subscriber) { try { subscriber.onNext("Hello World"); subscriber.onCompleted(); } catch (Exception e) { subscriber.onError(e); } } });
7.
Subscriber Subscriber<String> mySubscriber =
new Subscriber<String>() { @Override public void onCompleted() { Log.d(TAG, "onCompleted: Completed"); } @Override public void onError(Throwable e) { Log.e(TAG, "onError: Error " + e.getLocalizedMessage()); } @Override public void onNext(String s) { Log.d(TAG, "onNext: " + s); } };
8.
Subscriber myObservable.subscribe(mySubscriber); // result :
Hello World
9.
Observable (Simplified) Observable.just("Hello World") .subscribe(new
Subscriber<String>() { @Override public void onCompleted() { Log.d(TAG, "onCompleted: Completed"); } @Override public void onError(Throwable e) { Log.e(TAG, "onError: "+e.getLocalizedMessage() ); } @Override public void onNext(String s) { Log.d(TAG, "onNext: " + s); } });
10.
More Simple ? Use
Retrolambda
11.
Simplified With Lambda buildscript
{ repositories { mavenCentral() } dependencies { classpath 'me.tatarka:gradle-retrolambda:3.2.5' } } // Required because retrolambda is on maven central repositories { mavenCentral() } apply plugin: 'com.android.application' //or apply plugin: 'java' apply plugin: 'me.tatarka.retrolambda'
12.
Observable (Simplified with
Retrolambda) Observable.just("Hello World") .subscribe( s -> Log.d(TAG, "onNext: " + s), throwable -> Log.e(TAG, "onError: " + throwable.getLocalizedMessage()), () -> Log.d(TAG, "onCompleted: Completed"));
13.
RxJava Operator
14.
Observable.just(1, 2, 3,
4, 5) .map(integer -> integer * 2) .subscribe(result -> { Log.d(TAG, "onCreate: result :"+result); }, throwable -> { Log.e(TAG, "onCreate: "+throwable.getLocalizedMessage()); }, () -> { Log.i(TAG, "onCreate: finished"); }); // result : 2,4,6,8,10
15.
Observable.just(1, 2, 3,
4, 5) .filter(integer -> integer % 2 == 0) .map(integer -> integer * 2) .subscribe(result -> { Log.d(TAG, "onCreate: result :" + result); }, throwable -> { Log.e(TAG, "onCreate: " + throwable.getLocalizedMessage()); }, () -> { Log.i(TAG, "onCreate: finished"); }); // result : 4,8
16.
Check http://rxmarbles.com/ for
more operator
17.
RxJava + Asynchronous
18.
Async Observable.just(doNetworkOrLongOperation()) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(s -> { Log.d(TAG,
"onCreate: " + s); }, throwable -> { Log.e(TAG, "onCreate: " + throwable.getLocalizedMessage()); }, () -> { Log.i(TAG, "onCreate: completed"); });
19.
RxJava + OkHttp
20.
private Observable<String> getSomeString(){ return
Observable.create(new Observable.OnSubscribe<String>() { @Override public void call(Subscriber<? super String> subscriber) { try{ OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder().url("SOME URL").build(); Response response = client.newCall(request).execute(); if (response != null) { final String result = response.body().string(); subscriber.onNext(result); subscriber.onCompleted(); } }catch (Exception e){ subscriber.onError(e); } } }); }
21.
RxJava + OkHttp getSomeString().subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(s
-> { Log.d(TAG, "onCreate: " + s); }, throwable -> { Log.e(TAG, "onCreate: " + throwable.getLocalizedMessage()); }, () -> { Log.i(TAG, "onCreate: completed"); });
22.
RxJava + Retrofit
2
23.
RxJava + Retrofit
2.x // dependencies compile "com.squareup.retrofit2:adapter-rxjava:$RETROFIT_VERSION" // setup retrofit Retrofit retrofit = new Retrofit.Builder().baseUrl(BuildConfig.SERVER_URL) .addCallAdapterFactory(RxJavaCallAdapterFactory.create()) .client(okHttpClient) .build();
24.
Service @GET("get_post/") Observable<SinglePostResponse> getPost(@Query("id")
int id); // handle it on your presenter dataManager.getPost(id, isUpdate) .subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(post -> { if (post != null) { // do something } }, throwable -> { Log.e(TAG, "getArticleDetail: "+throwable.getLocalizedMessage() ); }, () -> { Log.i(TAG, "getArticleDetail: completed"); });
25.
Be careful of
Memory leak
26.
private CompositeSubscription compositeSubscription
= new CompositeSubscription(); compositeSubscription.add(getSomeString().subscribeOn(Schedulers.io()) .observeOn(AndroidSchedulers.mainThread()) .subscribe(s -> { Log.d(TAG, "onCreate: " + s); }, throwable -> { Log.e(TAG, "onCreate: " + throwable.getLocalizedMessage()); }, () -> { Log.i(TAG, "onCreate: completed"); })); @Override protected void onDestroy() { super.onDestroy(); compositeSubscription.unsubscribe(); }
27.
RxBinding Demo https://github.com/pratamawijaya/RxJavaInAction
28.
References http://blog.danlew.net/2014/09/15/grokking-rxjava-part-1/ https://github.com/kaushikgopal/RxJava-Android-Samples https://www.ykode.com/2015/02/20/android-frp-rxjava- retrolambda.html https://gist.github.com/staltz/868e7e9bc2a7b8c1f754
29.
Q & A
30.
Thanks pratama@kulina.id tama@fanboy.id | set.mnemonix@gmail.com https://pratamawijaya.com
Download now