This is a project which using modern Android Architecture Components (Kotlin, Coroutines, MVVM, Paging 3, Navigation, Room, ViewModel).
This app uses the TheMovieDb API to load movies on the main screen. To use the API, you will need to obtain a free developer API key. See the TheMovieDb API Documentation for instructions.
Once you have the key, add this line to the local.properties
file, either in your user home
directory (usually ~/.gradle/local.properties
on Linux and Mac) or in the project's root folder:
api_key=<your TheMovieDb API key>
base_url=https://api.themoviedb.org/3/
- Foundation - Components for core system capabilities, Kotlin extensions and support for
multidex and automated testing.
- Android KTX - Write more concise, idiomatic Kotlin code.
- Architecture - A collection of libraries that help you design robust, testable, and
maintainable apps. Start with classes for managing your UI component lifecycle and handling data
persistence.
- LiveData - Build data objects that notify views when the underlying database changes.
- Navigation - Handle everything needed for in-app navigation.
- Room - Access your app's SQLite database with in-app objects and compile-time checks.
- ViewModel - Store UI-related data that isn't destroyed on app rotations. Easily schedule asynchronous tasks for optimal execution.
- UI - Details on why and how to use UI Components in your apps - together or separate
- Animations & Transitions - Move widgets and transition between screens.
- Fragment - A basic unit of composable UI.
- Layout - Lay out widgets using different algorithms.
- Paging 3 - For implementing paging
- SplashScreen API - Modern Splash Screen Android 12 without using extra activities
- Third party and miscellaneous libraries
- Glide for image loading
- Dagger Hilt for Dependency Injection
- Kotlin Coroutines for managing background threads with simplified code and reducing needs for callbacks
- Secrets Gradle plugin for Android reads secrets, including the API key, from a properties file not checked into a version control system