Skip to content

endikaaguilera/PopularMovies

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

92 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Popular Movies

  • Project for Android Developer Nanodregree by Udacity.
  • In this project, you will build an app to help users discover popular and recent movies. You will build a clean UI, sync to a server, and present information to the user.

Navigate

Project Meets Required Specifications

Common Project Requirements

  • App is written solely in the Java Programming Language.
  • Movies are displayed in the main layout via a grid of their corresponding movie poster thumbnails.
  • UI contains an element (i.e a spinner or settings menu) to toggle the sort order of the movies by: most popular, highest rated.
  • UI contains a screen for displaying the details for a selected movie.
  • Movie details layout contains title, release date, movie poster, vote average, and plot synopsis.
  • App conforms to common standards found in the Android Nanodegree General Project Guidelines.

User Interface - Layout

  • UI contains an element (e.g., a spinner or settings menu) to toggle the sort order of the movies by: most popular, highest rated.
  • Movies are displayed in the main layout via a grid of their corresponding movie poster thumbnails.
  • UI contains a screen for displaying the details for a selected movie.
  • Movie Details layout contains title, release date, movie poster, vote average, and plot synopsis.
  • Movie Details layout contains a section for displaying trailer videos and user reviews.

User Interface - Function

  • When a user changes the sort criteria (most popular, highest rated, and favorites) the main view gets updated correctly.
  • When a movie poster thumbnail is selected, the movie details screen is launched.
  • When a trailer is selected, app uses an Intent to launch the trailer.
  • In the movies detail screen, a user can tap a button(for example, a star) to mark it as a Favorite.

Network API Implementation

  • In a background thread, app queries the /movie/popular or /movie/top_rated API for the sort criteria specified in the settings menu.
  • App requests for related videos for a selected movie via the /movie/{id}/videos endpoint in a background thread and displays those details when the user selects a movie.
  • App requests for user reviews for a selected movie via the /movie/{id}/reviews endpoint in a background thread and displays those details when the user selects a movie.

Data Persistence

  • The titles and ids of the user's favorite movies are stored in a ContentProvider backed by a SQLite database. This ContentProvider is updated whenever the user favorites or unfavorites a movie.
  • When the "favorites" setting option is selected, the main view displays the entire favorites collection based on movie ids stored in the ContentProvider.

Libraries

Extras

Some extra features added:

  • Short by upcomig option addded.
  • Store favorites, top rated, most popular and upcoming movies into separeated databases.

Getting Started

  • Popular Movies App uses The Movie Database API. In order to run the app you must create your own API key.
  • Click to create an API key
  • When you get it, just set it in: gradle.properties -> MyTheMovieDBApiToken="INSERT_YOUR_KEY_HERE"

Art

App Poster

screen

Nexus 5 Screens

screen

Nexus 7 Screens

screen

Pixel C Screens

screen

About

Project for Android Developer Nanodregree by Udacity.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages