Skip to content
master
Go to file
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
app
 
 
 
 
 
 
 
 
 
 
 
 
 
 

README.md

#Summary

  • Sample app using Retrofit + Dagger + RxJava using 500px api.
  • Supporting api>=18

Requirements

  • Add your consumer key by creating a file secret.properties under app directory. File should be like API_KEY=YOUR_API_KEY
  • You can get an API consumer key here: 500px Consumer Key
  • You’ll first need to log in with your 500px account. Please create a 500px account if you don’t yet have one.

Architecture Pattern

#Coding Style

#Key Concept There are 2 screens in the app

Each Screen has

  • A contract defining the view and the presenter
  • An Activity which is responsible for the creation of fragments and presenters
  • A Fragment which implements the view interface.
  • A presenter which implements the presenter interface

In general, the business logic lives in the presenter and relies on the view to do the Android UI work. The view contains almost no logic: it converts the presenter's commands to UI actions and listens to user actions, which are passed to the presenter.

Special Thanks To

  • GoogleSample - For providing detailed understanding of different architecture.
  • 500px - Using 500px api to display photos.
  • Retrofit2 - For sending api get request.
  • Picasso - For image loading and Caching
  • OkHttp - Used by picasso for fast downloading of images
  • AppCompat - Used for providing backward compatibility support
  • RxAndroid/ RxJava - Used to caching remote calls which uses Observer pattern to subscribe and un-subscribe ui thread when not in view.
  • RxProguard Rules - ProGuard rules for RxJava shipped as AAR!
  • ButterKnife - Removing boiler plate code by using @Bind annotation.
  • Dagger 2 - For using dependency injection in android without reflection.
  • Android Support Libraries - For using support widgets like recycler view.
  • Espresso - Used for UI Testing
  • Mockito - Used for mocking classes in unit testing
  • JUnit - Testing Library

About

Sample app using 500px api

Resources

Releases

No releases published

Languages

You can’t perform that action at this time.