This app will retrieve information from the TMDB and display it in various view types by interacting with a REST API from themoviedb.org.
This app demonstrates the following specifics:
✔ Communicating with a webservice (rest api) using Retrofit2
✔ MVVM Architecture: ViewModel, Repository, Client structure
✔ How to design an architecture
✔ DayNight Theme Customizations
✔ Singletons
✔ Custom Loading Animation ProgressBar in Recyclerview
✔ ViewModels and AndroidViewModels
✔ Multiple View Types in a Recyclerview
✔ RecyclerView Pagination
✔ Building Custom Toolbars
✔ Customising Toolbar Behaviours with CoordinatorLayout & AppBarLayout
✔ Observables, LiveData, MutableLiveData and MediatorLiveData
✔ Displaying Images using Glide
✔ CardViews
✔ SearchViews
✔ Menus
✔ Passing data between activities using intent extras
✔ Executors and Background Threads
✔ ThreadPools
✔ Network Security Config for HTTP (API 28+)
- Retrofit to make api calls to an HTTP web service
- Gson which handles the deserialization of the returned JSON to Kotlin data objects
- Glide to load and cache images by URL.
- Material To add Custom Android Specific Widgets
- SimpleRatingBar A powerful RatingBar alternative to Android's default
It leverages the following components from the Jetpack library: