- For more information, checkout multi-part
Rxifyblog series on medium.
- For the video of this talk click here
- For the slides click here
- Slides for the Codelab can be found here
This project :
- Uses RxJava2 for the demos.
- Follows the
MVParchitecture inspired by repository.
- Makes use of
- Uses Butterknife
TestSchedulerfor writing tests.
Perform API calls asynchronously and wait for the result of both the calls to combine the result. For more information, checkout this article.
We are waiting for
We are also waiting for
StudentAPI call to get hair of Crab.
Both the calls executing asynchronously.
PolyJuicefrom the results of API calls.
- Hide the loader after both calls have completed.
Here's the demo :
Depicting the problem of Ordering the results in Auto-Search and solving it using concatMap(). For more information, checkout this article
- Perform Auto-Complete Search using
flatMap()- results in unordered results
- Toggle state to fix it using
getBooks(query)on the data source return the results after a delay which is inversely proportional to the length of query string. - this is done to depict the ordering problem
- used the open-source library used at my current company Fueled - reclaim which extracts the boiler plate for creation of recyclerview adapter, implementation of MVP for listview items.
flatMap() - Order is not maintained.
concatMap() - Order is maintained.
Ordering problem is fixed, but we shouldn't be updating the list this frequently.
switchMap() will improve the results even further :
switchMap() - Order is maintained.
This is the code-lab I conducted at the GDG New Delhi January meetup. SpeakerDeck for this is available here. Completed examples for all the operators are also available on the
master branch. For in-detail commit-by-commit codelab. Refer to the
- Android Studio IDE
- Lots of excitement.
Let's Get Started
- Switch to branch
- Checkout at the starting commit : SHA -
- List of all the commits is here.
ChillActivityand switch to the desired presenter.
- Let's Get Started!! Following Excercises are available :
Section 1 - Basic Spells :
Section 2 - To-Do Section :
Section 3 - Threading :
Section 4 - Testing :
- Implement more demos.