Android application concept to display Giphy trending images with paging loading and offline work support. Project demonstrates how-to
use AndroidX, Kotlin, Navigation Component, Paging Component, MVVM, LiveData, Dagger, RxJava and Retrofit to get remote data and save it to local cache.
For simplification, shared preferences are used like a local cache. For real scenario, DB storage (Room, GreenDao) is preferable.
Application contains two screens:
- Grid screen - shows the grid of trending gifs.
- Full screen - displays the full screen image.
Please use app-release.apk file.
- Kotlin - primary project language.
- Navigation component - handles all navigation aspects, allows to avoid boilerplate code with fragments transaction, backstack etc.
- Android Architecture Components - the core of MVVM pattern.
- Paging library - painless paging loading.
- RxJava - simple way to manage data chains.
- Dagger - dependency injection framework.
- Retrofit - to perform API call.
- Glide - images loading library with cache possibility.