A simple android project that demonstrates how to implement Android Architecture Components.
The app uses ViewModel to abstract the data from UI and TmdbRepository as single source of truth for data. TmdbRepository first fetch the data from database if exist than display data to the user and at the same time it also fetches data from the webservice and update the result in database and reflect the changes to UI from database.
- JDK Version 1.7 & above
- Android Studio Preview Version 3.0
For the app to make requests you require a TMDB API key.
If you don’t already have an account, you will need to create one in order to request an API Key.
Once you have it, open gradle.properties
file and paste your API key in TMDB_API_KEY
variable.
- Android Support Library
- Android Architecture Components
- Dagger 2 for dependency injection
- Retrofit for REST api communication
- OkHttp for adding interceptors to Retrofit
- Glide for image loading
- Timber for logging
- espresso for UI tests
- mockito for mocking in tests
Copyright 2017 Thomas Kioko
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.