This is a basic Android application that provides information about currently playing movies and the most popular ones.
Watch the application in action here.
- Implemented a single RecyclerView to display the entire screen, with each view divided into different items.
- Utilized an
Any
type mutable list to hold data for each element on the screen. - Implemented the MVVM architecture for clean separation of concerns.
- Employed the Glide third-party library for image caching.
- Managed pagination logic using a RecyclerView scroll listener.
- Used a Fragment over an Activity for efficient view management.
- Handled rating view with a ProgressBar, dynamically setting a progress drawable based on conditions.
- Utilized Retrofit for network connections.
- Note: The 'duration' key is missing in the popular movie API.
- Employed FlowLayout to display genres and used Glide for loading the poster image.
- Again, used a Fragment for better modularity and reusability.
- Added a unit test case for a function responsible for converting date formats.
- Espresso - Android testing framework for writing UI tests.
- RecyclerView (version 1.1.0) - Android library for displaying large data sets with views.
- Retrofit (version 2.6.0) - Type-safe HTTP client for Android and Java.
- Gson (version 2.6.0) - Java library for JSON serialization and deserialization.
- Glide (version 4.10.0) - Fast and efficient open-source media management and image loading framework for Android.
- Android Lifecycle Extensions (version 2.2.0) - Components for handling lifecycle-related tasks.
- OkHttp Logging Interceptor (version 3.12.1) - Interceptor that logs HTTP requests and responses.
- Fragment KTX (version 1.2.5) - Kotlin extensions for the Android Jetpack Fragment library.
- Mockito (version 2.1.0) - Mocking framework for unit tests.