You should create local.properties
file if you have not yet and add
there flickr.api.key
field with flickr api key:
flickr.api.key=<your flickr api key>
Then, install it:
./gradlew installDebug
./gradlew installInstrumented
Project uses feature modules approach. Every feature has at least two modules: api
module and primary implementation
module. For example, images
feature has three
modules:
api
- API moduleflickr
- primary implementationfake
- additional implementation with providing images from assets for testing purposes
There is app
module which contains entry points for application. There
are several entry points with different code base:
debug
with primary code base (flickr images provider)release
with primary code base (flickr images provider)instrumented
entry point without flickr images provider, but with fakes for images
So when you run:
./gradlew installInstrumented
you build and install only the code with :images:fake
and without :images:flickr
module.
Project does not use any DI
framework.
When a feature-module needs for external communication, it describes the
requirements in api
module, and app
module must implement it in an
entry point, which use the feature.
Icons from flaticon.com