All Projects → ragdroid → rxify

ragdroid / rxify

Licence: MIT License
Now: RxJava Playground, Previous: Demo for the talk at DroidconIN 2016, Droidcon Boston 2017 and Codelab for GDG January Meetup

Programming Languages

java
68154 projects - #9 most used programming language
kotlin
9241 projects

Projects that are alternatives of or similar to rxify

AndroidMVPArchitecture
Android MVP architecture sample project with or without RxJava and Dagger2 and Kotlin
Stars: ✭ 78 (+32.2%)
Mutual labels:  rxjava, mvp, mockito, dagger2
Android tmdb clean architecture
Showcase of clean architecture concepts along with Continuous Integration and Development for modular Android applications. Includes test suits (functional and unit tests) along with code coverage.
Stars: ✭ 63 (+6.78%)
Mutual labels:  rxjava, mvp, mockito, dagger2
Androidstarter
A sample Android app using the MVP architecture.
Stars: ✭ 140 (+137.29%)
Mutual labels:  rxjava, mvp, mockito, dagger2
Mvpandroid
Sample app to demonstrate MVP (Model - View - Presenter) architecture in android
Stars: ✭ 91 (+54.24%)
Mutual labels:  rxjava, mvp, mockito, dagger2
Kingtv
📺 高仿全民直播(全民TV),项目采用 MVP + RXJava + Retrofit + OKHttp + Material Design + Dagger2 + Base + Glide + GreenDao构建。因为全民TV已经凉了,导致App已经连不上。所以本项目已暂停维护。仅供学习。 推荐MVPFrame: https://github.com/jenly1314/MVPFrame 和你值得拥有的MVVMFrame快速开发框架: https://github.com/jenly1314/MVVMFrame
Stars: ✭ 1,594 (+2601.69%)
Mutual labels:  rxjava, mvp, dagger2
Weather-Guru-MVP
Sample Material-design Android weather application build with MVP architectural approach using Dagger2, RxJava2, Retrofit2, Event-Bus, GreenDao, Butterknife, Lottie etc.
Stars: ✭ 15 (-74.58%)
Mutual labels:  mvp, mockito, dagger2
Jreadhub
Readhub Android 客户端——官网 : https://readhub.cn
Stars: ✭ 168 (+184.75%)
Mutual labels:  rxjava, mvp, dagger2
Fineract-CN-mobile
DEPRECATED project - Check the Apache fineract-cn-mobile project instead
Stars: ✭ 17 (-71.19%)
Mutual labels:  rxjava, mvp, dagger2
Voice
Minimalistic audiobook player
Stars: ✭ 1,559 (+2542.37%)
Mutual labels:  rxjava, mvp, dagger2
Slick
A Reactive MVP Framework which is Slick to use
Stars: ✭ 201 (+240.68%)
Mutual labels:  rxjava, mvp, reactive-programming
BookReader
📕 "任阅" 网络小说阅读器,3D翻页效果、txt/pdf/epub书籍阅读、Wifi传书~
Stars: ✭ 6,113 (+10261.02%)
Mutual labels:  rxjava, mvp, dagger2
Android Tech Frontier
【停止维护】一个定期翻译国外Android优质的技术、开源库、软件架构设计、测试等文章的开源项目
Stars: ✭ 10,334 (+17415.25%)
Mutual labels:  rxjava, mvp, dagger2
Scallop
干货集中营Android app(MVP + RxJava2 + Dagger2 + Retrofit)
Stars: ✭ 120 (+103.39%)
Mutual labels:  rxjava, mvp, dagger2
Movieguide
Movie discovery app showcasing MVP, RxJava, Dagger 2 and Clean Architecture
Stars: ✭ 2,573 (+4261.02%)
Mutual labels:  rxjava, mvp, dagger2
Mvparms
⚔️ A common architecture for Android applications developing based on MVP, integrates many open source projects, to make your developing quicker and easier (一个整合了大量主流开源项目高度可配置化的 Android MVP 快速集成框架).
Stars: ✭ 10,146 (+17096.61%)
Mutual labels:  rxjava, mvp, dagger2
Mvpapp
Android MVP Architecture
Stars: ✭ 2,354 (+3889.83%)
Mutual labels:  rxjava, mvp, dagger2
Marvel
Marvel Characters Android Application Assigned by smava GmbH
Stars: ✭ 227 (+284.75%)
Mutual labels:  rxjava, mvp, mockito
mvp-sample
Demonstrates how to implement MVP (Model View Presenter) pattern using Kotlin, RXJava, Retrofit, Dagger and DataBinding
Stars: ✭ 35 (-40.68%)
Mutual labels:  mvp, mockito, dagger2
Jd Test
仿京东app 全新组件化架构升级
Stars: ✭ 1,346 (+2181.36%)
Mutual labels:  rxjava, mvp, dagger2
Mvpframes
整合大量主流开源项目并且可高度配置化的 Android MVP 快速集成框架,支持 AndroidX
Stars: ✭ 100 (+69.49%)
Mutual labels:  rxjava, mvp, dagger2

Rxify

Started with a simple demo for the talk at droidconIN 2016, Banglore. Added more examples from GDG New Delhi Meetup. Will keep adding more demos and new things here :)

  • For more information, checkout multi-part Rxify blog series on medium.
  • For the video of this talk click here
  • For the slides click here
  • Slides for the Codelab can be found here

Project Structure

This project :

  • Uses RxJava2 for the demos.
  • Follows the MVP architecture inspired by repository.
  • Makes use of Dagger2
  • Uses Butterknife
  • Uses TestScheduler for writing tests.

Zip-yosa (ZipActivity)

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 FluxWeed API call.

  • We are also waiting for Student API call to get hair of Crab.

  • Both the calls executing asynchronously.

  • Problem :

    • Initialise PolyJuice from the results of API calls.
    • Hide the loader after both calls have completed.

    Here's the demo :

    Here's the demo

Preserving Order in AutoComplete-Search (LibraryActivity)

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 concatMap()
  • used BookDataSource and calling 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.

Using flatMap() - Order is not maintained.

Using flatMap()

Using concatMap() - Order is maintained.

Using concatMap()

Ordering problem is fixed, but we shouldn't be updating the list this frequently. switchMap() will improve the results even further :

Using switchMap() - Order is maintained.

Using switchMap()

Code-lab

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 codelab branch.

Pre-requisites :

  • Android Studio IDE
  • git
  • Lots of excitement.

Let's Get Started

  • Switch to branch codelab.
  • Checkout at the starting commit : SHA - d5db64950f1616c308bb8174bb8dc01ab69971e8.
  • List of all the commits is here.
  • Open ChillActivity and 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 :

TO-DO

  • Implement more demos.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].