reserved. What’s NOT covered x Room x Retrofit x Advanced concepts x Testing x MVP, MVVM from scratch x Step by step walk through x In-depth knowledge of RxJava2 and Dagger2 3
reserved. Reactive programming • Wikipedia – It is an asynchronous programming paradigm concerned with data flows and propagation of change. • In other words: – Reactive programming is programming with asynchronous data streams.
reserved. Reactive Extensions (Rx) • Reactive extensions (or Rx) is a library for composing asynchronous and event-based programs by using observable sequences
reserved. Reactive Extensions (Rx) • Reactive extensions (or Rx) is a library for composing and programs by using sequences simultaneous operations. perform some operation(s) when event is triggered or received. think of it as asynchronous immutable array.
reserved. RxJava & RxAndroid • RxJava is a Java VM implementation of ReactiveX. • RxAndroid provides android specific bindings and extensions. So RxJava can be used in android applications
reserved. Components • Source (emits data) – Emits data streams • Subscriber (the observer or consumer) – Consumes data emitted from source • Scheduler (threads and concurrency) – Where to process and consume data
reserved. Dependency injection Got all the ingredients for pizza except the base Should I create pizza base myself? You are gonna mess it up let me do it
reserved. Dagger2 Dagger is a compile time dependency injection framework for both Java and Android. I will inject the dependencies just tell me: • What dependencies to inject - @Component • How to create it - @Module, @Provides • Where to inject - @Inject • Which one to inject - @Qualifier, @Named
reserved. Summary • Brief introduction of MVP • Reactive programming – What, why and how? – Various operators – With Room and Retrofit • Dagger • How these work together