In this project, the Movies app shows a grid of movies sorted by either popularity, rating, or favorites.
Note: the app grabs only the first page of the results json file (~20 movies). The requirements did not mention whether more should be retrieved.
The app will (by using themoviedb.org API):
-
Upon launch, present the user with an grid arrangement of movie posters.
-
Allow your user to change sort order via a setting:
- The sort order can be by most popular, by top rated or favorites stored using Room.
-
Allow the user to tap on a movie poster and transition to a details screen with additional information such as:
- original title
- movie poster image thumbnail
- Picasso will be used for this
- A plot synopsis (called overview in the api)
- user rating (called vote_average in the api)
- release date
- carousel of trailers
- list of reviews
More details can be found here: Popular Movies App Implementation Guide
Create file "keys.xml" in the 'values' folder and add the following key to it:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="moviedb_api_key">api_key_goes_here</string>
<string name="youtube_api_key">api_key_goes_here</string>
...
</resources>
Endless scrolling
- https://icons8.com/icon/set/not%20connected/material
- Stackoverflow when stuck with Retrofit, adapters, deserialization, etc.