android-recyclerview-demo

Libraries used

  • Retrofit as HTTP client
  • Glide for image downloaiding and display
  • RxJava to efficiently handle async network calls and employ reactive pattern
  • Dagger for dependency injection

Architecture used

  • MVP with interactor
  • There are many architectures available for application design: MVC, MVP, MVVC etc. I have used MVP as Presenter in MVP is just an interface and not at all tied to the View. Due to this, MVP is quite suitable for unit and instrumentation testing as well as it is more flexible compare to MVC.

I have experimented with other Image loading libraries: Picasso, Volly and Fresco, but Glide seems to be performing best amongst all due to it's well optimized Cache mechanism.

Test

Basic Instrument tests are implemented to test RecycleView content.