s23 Advanced Android Course Project - Movie Library App Due August 21


Create your Project in your preferred Android Development IDE.
Do coding in Kotlin.

For your student Android Kotlin project, you can use The Movie Database (TMDb) API. TMDb is a popular, community-built database for movies and TV shows. It provides a comprehensive list of methods for accessing movie, TV, actor, and image data

To get started with TMDb API, follow these steps:
Sign up for an account and obtain an API key.
Familiarize yourself with the available API methods and their usage.
To integrate the TMDb API into your Android Kotlin project, you can use Retrofit, a popular type-safe HTTP client for Android and Java. Retrofit makes it easy to consume JSON or XML data from a web API
Here's a brief outline of how to use Retrofit in your Kotlin project:
Add the required dependencies for Retrofit and a JSON converter (such as Moshi or Gson) to your app's build.gradle file
Create data classes to represent the JSON objects returned by the TMDb API.
Define an interface with functions representing the API endpoints you want to access. Annotate these functions with Retrofit annotations to specify the HTTP method and endpoint path.
Create a Retrofit instance, passing in the base URL of the TMDb API and the JSON converter.
Use the Retrofit instance to create an implementation of your API interface.
Call the functions of the API interface to make requests to the TMDb API and handle the responses in your app.
For a more detailed guide on using Retrofit in a Kotlin project, you can refer to this tutorial:
Additionally, you can find examples of using TMDb API in various tutorials on YouTube, such as this one:
and this one:

To get an API key for The Movie Database (TMDb) API, you need to create an account on their website first. Follow these steps:
Visit the TMDb website:
Click on the "Sign Up" button in the top right corner of the page.
Fill in the required information and complete the registration process.
Once you have created an account and logged in, click on your profile icon in the top right corner and navigate to "Settings"
In the settings page, click on the "API" tab on the left side.
Click on the link to register for a new API key
Fill out the application form with the required information about your project and agree to the terms of use.
After submitting the form, you will receive your API key.
Now you can use this API key to access the TMDb API in your Android Kotlin project. Make sure to keep your API key secure and not share it publicly, as it is tied to your account and usage limits.

The Movie Database (TMDb) API is free to use as long as you attribute TMDb as the source of the data and/or images. However, they reserve the right to charge for the commercial API key in the future
. As a student working on an Android Kotlin project, you can use the TMDb API without any cost, but make sure to follow their attribution requirements.


The objective of this Android course project is to build a feature-rich movie library app that incorporates the concepts from Lab Test 1 and Lab Test 2. The app will allow users to view a list of movies, add new movies to the library, and display detailed information about each movie. Additionally, the app will implement background processing, network communication, database management, and advanced UI components.



Movie List Screen:
Display a RecyclerView with a list of movies retrieved from an API (e.g., TMDB) using Retrofit or Volley.
Each movie item should show its title, release year, and rating.
Implement pagination to load more movies as the user scrolls.
Movie Details Screen:
When a movie is clicked on the list, display its detailed information, including genre and a brief description.
Add Movie Screen:
Implement a form to add a new movie to the library.
The user should enter the title, release year, genre, and rating of the movie.
Store the added movie in a Room database.
Background Processing:
Implement a background task that periodically updates the movie library by fetching new movie data from the API and updating the database.
Show a notification to the user after each successful update.
Set up a bottom navigation bar to navigate between the Movie List, Add Movie, and Profile screens.
Implement a profile screen showing user information.
Advanced UI Components:
Create a custom view or component (e.g., a custom progress bar, a visually appealing layout) using Canvas or extending existing UI components.
Use ViewPager2 to display different movie categories (e.g., Popular Movies, Top Rated Movies) with swipeable tabs.
Gestures and Interactions:
Implement gesture-based features, such as swipe to delete movies from the library and pinch to zoom movie posters.
Offline Support:
Implement offline functionality to display previously fetched movie data when the device is not connected to the internet.
Thorough Testing:
Write unit tests and UI tests to ensure the app's functionality and stability.


Complete the Android app project, ensuring all the features and requirements are met.
Provide comprehensive documentation, including an explanation of the app's architecture, components used, and how each feature was implemented.
Include screenshots or screen recordings demonstrating the app's various features.
Zip the entire Android Studio project folder and name it "".
Submit the zip file through the designated submission portal or share it with the instructor.
Implementation of Movie List Screen: 15 points
Implementation of Movie Details Screen: 15 points
Implementation of Add Movie Screen: 20 points
Background Processing and Notifications: 20 points
Navigation and Profile Screen: 10 points
Advanced UI Components: 10 points
Gestures and Interactions: 10 points
Offline Support and Testing: 10 points
Want to print your doc?
This is not the way.
Try clicking the ⋯ next to your doc name or using a keyboard shortcut (
) instead.