SlideShare a Scribd company logo
RxJava main advantages
• Concurrency
• Requests Managment
• Data flow manipulation
• Error handling
• Cool, trendy, etc
Everything is a stream
Some new Rx objects
Schedulers
• computation
• io
• newThread
• from
• + AndroidSchedulers.mainThread
Subscription
Subject
Can be both Observable and Observer
PublishSubject
PublishSubject
PublishSubject
Result?
ReplaySubject
BehaviourSubject
RxJava main advantages
• Concurrency
• Requests Managment
• Data flow manipulation
• Error handling
• Cool, trendy, etc
RxJava main advantages
• Concurrency
• Requests Managment
• Data flow manipulation
• Error handling
• Cool, trendy, etc
Solution
But how to handle configuration changes?
Use Rx in conjunction with
• Retain Fragments
• Cached Observables
Subscription
Use Rx in conjunction with
• Retain Fragments
• Cached Observables
• Bind Rx to Lifecycle
• Loaders
• Services
From Dan Lew
With loaders
Singleton
RxJava in Service
Some Reactive Libraries
RxLifecycle from Trello
RxBinding
RxPermissions
https://gitter.im/rus-speaking/android-rx
Rx Java architecture
Rx Java architecture

More Related Content

What's hot

Alternatives to SQL - a Laravel Perspective
Alternatives to SQL - a Laravel PerspectiveAlternatives to SQL - a Laravel Perspective
Alternatives to SQL - a Laravel Perspective
Peter Coles
 
Intranet show and_tell_2010
Intranet show and_tell_2010Intranet show and_tell_2010
Intranet show and_tell_2010Charlie Hull
 
Enterprise Performance Planning
Enterprise Performance PlanningEnterprise Performance Planning
Enterprise Performance Planning
Apigee | Google Cloud
 
Micro-Servicing Linked Data
Micro-Servicing Linked DataMicro-Servicing Linked Data
Micro-Servicing Linked Data
openCypher
 
Elasticsearch for Westcoast
Elasticsearch for WestcoastElasticsearch for Westcoast
Elasticsearch for Westcoast
Charlie Hull
 
Netflix Operational Simplicity with Apache Cassandra
Netflix Operational Simplicity with Apache CassandraNetflix Operational Simplicity with Apache Cassandra
Netflix Operational Simplicity with Apache Cassandra
DataStax Academy
 
Apache Flink Adoption at Shopify
Apache Flink Adoption at ShopifyApache Flink Adoption at Shopify
Apache Flink Adoption at Shopify
Yaroslav Tkachenko
 

What's hot (7)

Alternatives to SQL - a Laravel Perspective
Alternatives to SQL - a Laravel PerspectiveAlternatives to SQL - a Laravel Perspective
Alternatives to SQL - a Laravel Perspective
 
Intranet show and_tell_2010
Intranet show and_tell_2010Intranet show and_tell_2010
Intranet show and_tell_2010
 
Enterprise Performance Planning
Enterprise Performance PlanningEnterprise Performance Planning
Enterprise Performance Planning
 
Micro-Servicing Linked Data
Micro-Servicing Linked DataMicro-Servicing Linked Data
Micro-Servicing Linked Data
 
Elasticsearch for Westcoast
Elasticsearch for WestcoastElasticsearch for Westcoast
Elasticsearch for Westcoast
 
Netflix Operational Simplicity with Apache Cassandra
Netflix Operational Simplicity with Apache CassandraNetflix Operational Simplicity with Apache Cassandra
Netflix Operational Simplicity with Apache Cassandra
 
Apache Flink Adoption at Shopify
Apache Flink Adoption at ShopifyApache Flink Adoption at Shopify
Apache Flink Adoption at Shopify
 

Viewers also liked

MBLTDev15: Artemiy Sobolev, Parallels
MBLTDev15: Artemiy Sobolev, ParallelsMBLTDev15: Artemiy Sobolev, Parallels
MBLTDev15: Artemiy Sobolev, Parallels
e-Legion
 
MBLTDev15: Cesar Valiente, Wunderlist
MBLTDev15: Cesar Valiente, WunderlistMBLTDev15: Cesar Valiente, Wunderlist
MBLTDev15: Cesar Valiente, Wunderlist
e-Legion
 
MBLTDev15: Alexander Orlov, Postforpost
MBLTDev15: Alexander Orlov, PostforpostMBLTDev15: Alexander Orlov, Postforpost
MBLTDev15: Alexander Orlov, Postforpost
e-Legion
 
MBLT16: Marvin Liao, 500Startups
MBLT16: Marvin Liao, 500StartupsMBLT16: Marvin Liao, 500Startups
MBLT16: Marvin Liao, 500Startups
e-Legion
 
MBLTDev: Evgeny Lisovsky, Litres
MBLTDev: Evgeny Lisovsky, LitresMBLTDev: Evgeny Lisovsky, Litres
MBLTDev: Evgeny Lisovsky, Litres
e-Legion
 
MBLT16: Alexander Lukin, AppMetrica
MBLT16: Alexander Lukin, AppMetricaMBLT16: Alexander Lukin, AppMetrica
MBLT16: Alexander Lukin, AppMetrica
e-Legion
 
MBLT16: Dmitriy Geranin, Afisha Restorany
MBLT16: Dmitriy Geranin, Afisha RestoranyMBLT16: Dmitriy Geranin, Afisha Restorany
MBLT16: Dmitriy Geranin, Afisha Restorany
e-Legion
 
MBLT16: Vincent Wu, Alibaba Mobile
MBLT16: Vincent Wu, Alibaba MobileMBLT16: Vincent Wu, Alibaba Mobile
MBLT16: Vincent Wu, Alibaba Mobile
e-Legion
 
MBLT16: Andrey Bakalenko, Sberbank Online
MBLT16: Andrey Bakalenko, Sberbank OnlineMBLT16: Andrey Bakalenko, Sberbank Online
MBLT16: Andrey Bakalenko, Sberbank Online
e-Legion
 
MBLT16: Andrey Maslak, Aviasales
MBLT16: Andrey Maslak, AviasalesMBLT16: Andrey Maslak, Aviasales
MBLT16: Andrey Maslak, Aviasales
e-Legion
 
MBLT16: Elena Rydkina, Pure
MBLT16: Elena Rydkina, PureMBLT16: Elena Rydkina, Pure
MBLT16: Elena Rydkina, Pure
e-Legion
 
MBLTDev15: Konstantin Goldshtein, Microsoft
MBLTDev15: Konstantin Goldshtein, MicrosoftMBLTDev15: Konstantin Goldshtein, Microsoft
MBLTDev15: Konstantin Goldshtein, Microsoft
e-Legion
 
MBLTDev15: Hector Zarate, Spotify
MBLTDev15: Hector Zarate, SpotifyMBLTDev15: Hector Zarate, Spotify
MBLTDev15: Hector Zarate, Spotify
e-Legion
 
MBLTDev15: Brigit Lyons, Soundcloud
MBLTDev15: Brigit Lyons, SoundcloudMBLTDev15: Brigit Lyons, Soundcloud
MBLTDev15: Brigit Lyons, Soundcloud
e-Legion
 
Вадим Башуров «Как откусить от яблока миллион»
Вадим Башуров «Как откусить от яблока миллион»Вадим Башуров «Как откусить от яблока миллион»
Вадим Башуров «Как откусить от яблока миллион»e-Legion
 
Как заработать на мобильной игре
Как заработать на мобильной игреКак заработать на мобильной игре
Как заработать на мобильной игре
Andrey Dmitrichev
 
Как заработать от $100 в день на простом приложении horoscope в google play
Как заработать от $100 в день на простом приложении horoscope в google playКак заработать от $100 в день на простом приложении horoscope в google play
Как заработать от $100 в день на простом приложении horoscope в google play
Andrey Dmitrichev
 
Android concurrency
Android concurrencyAndroid concurrency
Android concurrency
Ruslan Novikov
 
MBLTDev: Alexander Dimchenko, Bright Box
MBLTDev: Alexander Dimchenko, Bright Box MBLTDev: Alexander Dimchenko, Bright Box
MBLTDev: Alexander Dimchenko, Bright Box
e-Legion
 
MBLT15: Ivan Kozlov, Aviasales
MBLT15: Ivan Kozlov, AviasalesMBLT15: Ivan Kozlov, Aviasales
MBLT15: Ivan Kozlov, Aviasales
e-Legion
 

Viewers also liked (20)

MBLTDev15: Artemiy Sobolev, Parallels
MBLTDev15: Artemiy Sobolev, ParallelsMBLTDev15: Artemiy Sobolev, Parallels
MBLTDev15: Artemiy Sobolev, Parallels
 
MBLTDev15: Cesar Valiente, Wunderlist
MBLTDev15: Cesar Valiente, WunderlistMBLTDev15: Cesar Valiente, Wunderlist
MBLTDev15: Cesar Valiente, Wunderlist
 
MBLTDev15: Alexander Orlov, Postforpost
MBLTDev15: Alexander Orlov, PostforpostMBLTDev15: Alexander Orlov, Postforpost
MBLTDev15: Alexander Orlov, Postforpost
 
MBLT16: Marvin Liao, 500Startups
MBLT16: Marvin Liao, 500StartupsMBLT16: Marvin Liao, 500Startups
MBLT16: Marvin Liao, 500Startups
 
MBLTDev: Evgeny Lisovsky, Litres
MBLTDev: Evgeny Lisovsky, LitresMBLTDev: Evgeny Lisovsky, Litres
MBLTDev: Evgeny Lisovsky, Litres
 
MBLT16: Alexander Lukin, AppMetrica
MBLT16: Alexander Lukin, AppMetricaMBLT16: Alexander Lukin, AppMetrica
MBLT16: Alexander Lukin, AppMetrica
 
MBLT16: Dmitriy Geranin, Afisha Restorany
MBLT16: Dmitriy Geranin, Afisha RestoranyMBLT16: Dmitriy Geranin, Afisha Restorany
MBLT16: Dmitriy Geranin, Afisha Restorany
 
MBLT16: Vincent Wu, Alibaba Mobile
MBLT16: Vincent Wu, Alibaba MobileMBLT16: Vincent Wu, Alibaba Mobile
MBLT16: Vincent Wu, Alibaba Mobile
 
MBLT16: Andrey Bakalenko, Sberbank Online
MBLT16: Andrey Bakalenko, Sberbank OnlineMBLT16: Andrey Bakalenko, Sberbank Online
MBLT16: Andrey Bakalenko, Sberbank Online
 
MBLT16: Andrey Maslak, Aviasales
MBLT16: Andrey Maslak, AviasalesMBLT16: Andrey Maslak, Aviasales
MBLT16: Andrey Maslak, Aviasales
 
MBLT16: Elena Rydkina, Pure
MBLT16: Elena Rydkina, PureMBLT16: Elena Rydkina, Pure
MBLT16: Elena Rydkina, Pure
 
MBLTDev15: Konstantin Goldshtein, Microsoft
MBLTDev15: Konstantin Goldshtein, MicrosoftMBLTDev15: Konstantin Goldshtein, Microsoft
MBLTDev15: Konstantin Goldshtein, Microsoft
 
MBLTDev15: Hector Zarate, Spotify
MBLTDev15: Hector Zarate, SpotifyMBLTDev15: Hector Zarate, Spotify
MBLTDev15: Hector Zarate, Spotify
 
MBLTDev15: Brigit Lyons, Soundcloud
MBLTDev15: Brigit Lyons, SoundcloudMBLTDev15: Brigit Lyons, Soundcloud
MBLTDev15: Brigit Lyons, Soundcloud
 
Вадим Башуров «Как откусить от яблока миллион»
Вадим Башуров «Как откусить от яблока миллион»Вадим Башуров «Как откусить от яблока миллион»
Вадим Башуров «Как откусить от яблока миллион»
 
Как заработать на мобильной игре
Как заработать на мобильной игреКак заработать на мобильной игре
Как заработать на мобильной игре
 
Как заработать от $100 в день на простом приложении horoscope в google play
Как заработать от $100 в день на простом приложении horoscope в google playКак заработать от $100 в день на простом приложении horoscope в google play
Как заработать от $100 в день на простом приложении horoscope в google play
 
Android concurrency
Android concurrencyAndroid concurrency
Android concurrency
 
MBLTDev: Alexander Dimchenko, Bright Box
MBLTDev: Alexander Dimchenko, Bright Box MBLTDev: Alexander Dimchenko, Bright Box
MBLTDev: Alexander Dimchenko, Bright Box
 
MBLT15: Ivan Kozlov, Aviasales
MBLT15: Ivan Kozlov, AviasalesMBLT15: Ivan Kozlov, Aviasales
MBLT15: Ivan Kozlov, Aviasales
 

Similar to Rx Java architecture

Einführung in RavenDB
Einführung in RavenDBEinführung in RavenDB
Einführung in RavenDB
NETUserGroupBern
 
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native CompanionJakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
Jakarta_EE
 
Reactive Spring 5
Reactive Spring 5Reactive Spring 5
Reactive Spring 5
Corneil du Plessis
 
Correlate Log Data with Business Metrics Like a Jedi
Correlate Log Data with Business Metrics Like a JediCorrelate Log Data with Business Metrics Like a Jedi
Correlate Log Data with Business Metrics Like a Jedi
Trevor Parsons
 
Informatica online training from inida
Informatica online training from inidaInformatica online training from inida
Informatica online training from inidaQualitytrainings
 
Informatica online training from inida
Informatica online training from inidaInformatica online training from inida
Informatica online training from inidaQualitytrainings
 
Informatica online training from inida
Informatica online training from inidaInformatica online training from inida
Informatica online training from inidaQualitytrainings
 
Informatica online training from inida
Informatica online training from inidaInformatica online training from inida
Informatica online training from inidaQualitytrainings
 
Informatica online training from inida
Informatica online training from inidaInformatica online training from inida
Informatica online training from inidaQualitytrainings
 
Informatica online training from inida
Informatica online training from inidaInformatica online training from inida
Informatica online training from inidaQualitytrainings
 
Informatica online training from inida
Informatica online training from inidaInformatica online training from inida
Informatica online training from inidaQualitytrainings
 
Informatica online training from inida
Informatica online training from inidaInformatica online training from inida
Informatica online training from inidaQualitytrainings
 
Informatica online training from inida
Informatica online training from inidaInformatica online training from inida
Informatica online training from inidaQualitytrainings
 
Informatica online training from inida
Informatica online training from inidaInformatica online training from inida
Informatica online training from inidaQualitytrainings
 
Informatica online training from inida
Informatica online training from inidaInformatica online training from inida
Informatica online training from inidaQualitytrainings
 
Informatica online training from inida
Informatica online training from inidaInformatica online training from inida
Informatica online training from inidaQualitytrainings
 
Informatica online training from inida
Informatica online training from inidaInformatica online training from inida
Informatica online training from inidaQualitytrainings
 
INFORMATICA ONLINE TRAINING
INFORMATICA ONLINE TRAININGINFORMATICA ONLINE TRAINING
INFORMATICA ONLINE TRAININGQualitytrainings
 

Similar to Rx Java architecture (20)

Einführung in RavenDB
Einführung in RavenDBEinführung in RavenDB
Einführung in RavenDB
 
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native CompanionJakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
JakartaOne Livestream CN4J: Eclipse MicroProfile - Your Cloud-Native Companion
 
Reactive Spring 5
Reactive Spring 5Reactive Spring 5
Reactive Spring 5
 
Correlate Log Data with Business Metrics Like a Jedi
Correlate Log Data with Business Metrics Like a JediCorrelate Log Data with Business Metrics Like a Jedi
Correlate Log Data with Business Metrics Like a Jedi
 
Informatica online training from inida
Informatica online training from inidaInformatica online training from inida
Informatica online training from inida
 
Informatica online training from inida
Informatica online training from inidaInformatica online training from inida
Informatica online training from inida
 
Informatica online training from inida
Informatica online training from inidaInformatica online training from inida
Informatica online training from inida
 
Informatica online training from inida
Informatica online training from inidaInformatica online training from inida
Informatica online training from inida
 
Informatica online training from inida
Informatica online training from inidaInformatica online training from inida
Informatica online training from inida
 
Informatica online training from inida
Informatica online training from inidaInformatica online training from inida
Informatica online training from inida
 
Informatica online training from inida
Informatica online training from inidaInformatica online training from inida
Informatica online training from inida
 
Informatica online training from inida
Informatica online training from inidaInformatica online training from inida
Informatica online training from inida
 
Informatica online training from inida
Informatica online training from inidaInformatica online training from inida
Informatica online training from inida
 
Informatica online training from inida
Informatica online training from inidaInformatica online training from inida
Informatica online training from inida
 
Informatica online training from inida
Informatica online training from inidaInformatica online training from inida
Informatica online training from inida
 
Informatica online training from inida
Informatica online training from inidaInformatica online training from inida
Informatica online training from inida
 
Informatica online training from inida
Informatica online training from inidaInformatica online training from inida
Informatica online training from inida
 
Informatica
InformaticaInformatica
Informatica
 
Slideshare
SlideshareSlideshare
Slideshare
 
INFORMATICA ONLINE TRAINING
INFORMATICA ONLINE TRAININGINFORMATICA ONLINE TRAINING
INFORMATICA ONLINE TRAINING
 

More from e-Legion

MBLTDev15: Egor Tolstoy, Rambler&Co
MBLTDev15: Egor Tolstoy, Rambler&CoMBLTDev15: Egor Tolstoy, Rambler&Co
MBLTDev15: Egor Tolstoy, Rambler&Co
e-Legion
 
MBLTDev15: Alexander Dimchenko, DIT
MBLTDev15: Alexander Dimchenko, DITMBLTDev15: Alexander Dimchenko, DIT
MBLTDev15: Alexander Dimchenko, DIT
e-Legion
 
MBLTDev15: Anna Mikhina, Maxim Evdokimov, Tinkoff Bank
MBLTDev15: Anna Mikhina, Maxim Evdokimov, Tinkoff Bank MBLTDev15: Anna Mikhina, Maxim Evdokimov, Tinkoff Bank
MBLTDev15: Anna Mikhina, Maxim Evdokimov, Tinkoff Bank
e-Legion
 
MBLTDev15: Ivan Kozlov, Aviasales
MBLTDev15: Ivan Kozlov, AviasalesMBLTDev15: Ivan Kozlov, Aviasales
MBLTDev15: Ivan Kozlov, Aviasales
e-Legion
 
MBLTDev15: Ilya Krasilshchik, Meduza.io
MBLTDev15: Ilya Krasilshchik, Meduza.ioMBLTDev15: Ilya Krasilshchik, Meduza.io
MBLTDev15: Ilya Krasilshchik, Meduza.io
e-Legion
 
MBLTDev15: Svetlana Sonina, STS Media
MBLTDev15: Svetlana Sonina, STS MediaMBLTDev15: Svetlana Sonina, STS Media
MBLTDev15: Svetlana Sonina, STS Media
e-Legion
 
MBLTDev15: Marius Racwitz, Realm
MBLTDev15: Marius Racwitz, RealmMBLTDev15: Marius Racwitz, Realm
MBLTDev15: Marius Racwitz, Realm
e-Legion
 
MBLTDev15: Denis Legezo, Kaspersky Lab
MBLTDev15: Denis Legezo, Kaspersky LabMBLTDev15: Denis Legezo, Kaspersky Lab
MBLTDev15: Denis Legezo, Kaspersky Lab
e-Legion
 
MBLTDev15: Kyle Fuller, Apairy
MBLTDev15: Kyle Fuller, ApairyMBLTDev15: Kyle Fuller, Apairy
MBLTDev15: Kyle Fuller, Apairy
e-Legion
 
MBLTDev15: Sergey Semenov, Trucker Path
MBLTDev15: Sergey Semenov, Trucker Path MBLTDev15: Sergey Semenov, Trucker Path
MBLTDev15: Sergey Semenov, Trucker Path
e-Legion
 
MBLTDev: Phillip Connaughton, RunKepper
MBLTDev: Phillip Connaughton, RunKepper MBLTDev: Phillip Connaughton, RunKepper
MBLTDev: Phillip Connaughton, RunKepper
e-Legion
 
MBLT15: Alexey Chikov, Kaspersky Lab
MBLT15: Alexey Chikov, Kaspersky LabMBLT15: Alexey Chikov, Kaspersky Lab
MBLT15: Alexey Chikov, Kaspersky Lab
e-Legion
 
MBLT15: Yakov Zubarev, Parallels
MBLT15: Yakov Zubarev, ParallelsMBLT15: Yakov Zubarev, Parallels
MBLT15: Yakov Zubarev, Parallels
e-Legion
 
MBLT15: Dmitriy Navosha, Sports.ru
MBLT15: Dmitriy Navosha, Sports.ru MBLT15: Dmitriy Navosha, Sports.ru
MBLT15: Dmitriy Navosha, Sports.ru
e-Legion
 

More from e-Legion (14)

MBLTDev15: Egor Tolstoy, Rambler&Co
MBLTDev15: Egor Tolstoy, Rambler&CoMBLTDev15: Egor Tolstoy, Rambler&Co
MBLTDev15: Egor Tolstoy, Rambler&Co
 
MBLTDev15: Alexander Dimchenko, DIT
MBLTDev15: Alexander Dimchenko, DITMBLTDev15: Alexander Dimchenko, DIT
MBLTDev15: Alexander Dimchenko, DIT
 
MBLTDev15: Anna Mikhina, Maxim Evdokimov, Tinkoff Bank
MBLTDev15: Anna Mikhina, Maxim Evdokimov, Tinkoff Bank MBLTDev15: Anna Mikhina, Maxim Evdokimov, Tinkoff Bank
MBLTDev15: Anna Mikhina, Maxim Evdokimov, Tinkoff Bank
 
MBLTDev15: Ivan Kozlov, Aviasales
MBLTDev15: Ivan Kozlov, AviasalesMBLTDev15: Ivan Kozlov, Aviasales
MBLTDev15: Ivan Kozlov, Aviasales
 
MBLTDev15: Ilya Krasilshchik, Meduza.io
MBLTDev15: Ilya Krasilshchik, Meduza.ioMBLTDev15: Ilya Krasilshchik, Meduza.io
MBLTDev15: Ilya Krasilshchik, Meduza.io
 
MBLTDev15: Svetlana Sonina, STS Media
MBLTDev15: Svetlana Sonina, STS MediaMBLTDev15: Svetlana Sonina, STS Media
MBLTDev15: Svetlana Sonina, STS Media
 
MBLTDev15: Marius Racwitz, Realm
MBLTDev15: Marius Racwitz, RealmMBLTDev15: Marius Racwitz, Realm
MBLTDev15: Marius Racwitz, Realm
 
MBLTDev15: Denis Legezo, Kaspersky Lab
MBLTDev15: Denis Legezo, Kaspersky LabMBLTDev15: Denis Legezo, Kaspersky Lab
MBLTDev15: Denis Legezo, Kaspersky Lab
 
MBLTDev15: Kyle Fuller, Apairy
MBLTDev15: Kyle Fuller, ApairyMBLTDev15: Kyle Fuller, Apairy
MBLTDev15: Kyle Fuller, Apairy
 
MBLTDev15: Sergey Semenov, Trucker Path
MBLTDev15: Sergey Semenov, Trucker Path MBLTDev15: Sergey Semenov, Trucker Path
MBLTDev15: Sergey Semenov, Trucker Path
 
MBLTDev: Phillip Connaughton, RunKepper
MBLTDev: Phillip Connaughton, RunKepper MBLTDev: Phillip Connaughton, RunKepper
MBLTDev: Phillip Connaughton, RunKepper
 
MBLT15: Alexey Chikov, Kaspersky Lab
MBLT15: Alexey Chikov, Kaspersky LabMBLT15: Alexey Chikov, Kaspersky Lab
MBLT15: Alexey Chikov, Kaspersky Lab
 
MBLT15: Yakov Zubarev, Parallels
MBLT15: Yakov Zubarev, ParallelsMBLT15: Yakov Zubarev, Parallels
MBLT15: Yakov Zubarev, Parallels
 
MBLT15: Dmitriy Navosha, Sports.ru
MBLT15: Dmitriy Navosha, Sports.ru MBLT15: Dmitriy Navosha, Sports.ru
MBLT15: Dmitriy Navosha, Sports.ru
 

Rx Java architecture