Skip to main content

[Make-A] Movies app using TMDb API Part 1 – Introduction


The Movie Database (TMDb) is a community built movie and TV database. It houses a lot of moviestv shows, and artists in their database. What’s even more awesome is that they give you access to their database for FREE!!!

The Movie Database (TMDb) exposes their API which is available for everyone to use. What you just need is a TMDb user account and request an API key.

Using the TMDb API is a great way to get you started with networking in Android.

Product Specifications

Retrofit – HTTP library to handle our networking
Gson – Java serialization/deserialization library to convert Java Objects into JSON and back
TMDb API – Endpoints that we call to fetch movies from TMDb’s database
 – Image loading library for Android

Architecture: None


  1. List of Movies
  2. Movie Details
  3. Movies by Popular, Top Rated and Upcoming

1. List of Movies

As a user,
When I open the app,
I want to see a list movies

  • Display the image/poster of the movie
  • Display the title of the movie
  • Show movies only no tv shows/series
  • Display the year released
  • Display the genre(s) of the movie
  • Display the rating of the movie

2. Movie Details

As a user,
When I click on a movie in the list,
I want to see all details of the movie,
So that I will know if it’s worth watching or not

  • Display the cover photo of the movie
  • Display the title
  • Display the rating
  • Display the genre(s)
  • Display the release data
  • Display the summary/synopsis
  • Display the trailers
  • Display the reviews

3. Movies by Popular, Top Rated, and Upcoming

As a user,
When I see the list of movies,
I should be able to sort it by Popular, Top Rated or Upcoming

  • Display something that when pressed shows the list of sorting options (Popular, Top Rated, Upcoming)
  • Movies should be sorted by Popular if Popular is selected
  • Movies should be sorted by Top Rated if Top Rated is selected
  • Movies should be sorted by Upcoming if Upcoming is selected


Major things you’ll learn after completing this tutorial:

Table of Contents

  1. Part 1 – Specs and Introduction
  2. Part 2 – Requesting an API Key
  3. Part 3 – Movie List Item Layout Using ConstraintLayout
  4. Part 4 – Networking using Retrofit Library and Image Loading using Glide
  5. Part 5 – Pagination
  6. Part 6 – Sort Movies by Popular, Top Rated and Upcoming
  7. Part 7 – Using CoordinatorLayout, AppBarLayout, CollapsingToolbarLayout for Movie Details Screen
  8. Part 8 – Colors and a Free Launcher Icon Generator
  9. 5 Exercises and Thanks!


Now that everything is laid out. Let’s create a TMDb account and request an api key.