Git Product home page Git Product logo

filmapp's Introduction

Popular Movies Android App

===================================

One of the final projects produced for the Udacity Android Advanced Nanodegree.

Android Development Advanced Apps

Project Overview


Most of us can relate to kicking back on the couch and enjoying a movie with friends and family. In this project, you’ll build an app to allow users to discover the most popular movies playing.

Present the user with a grid arrangement of movie posters upon launch. Allow your user to change sort order via a setting:

  • Popular Movies
  • Highest Rated
  • Favourites

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
  • A plot synopsis (called overview in the api)
  • user rating (called vote_average in the api) release date.

Allow users to view and play trailers in the youtube app or a web browser. Allow users to read reviews of a selected movie. Allow users to mark a movie as a favorite in the details view by tapping a button(star). Create a database and content provider to store the names and ids of the user's favorite movies.

Skills Applied


  • Build a UI layout for multiple Activities.
  • Launch these Activities via Intent.
  • Fetch data from themovieDB API.

Specifications:


  • 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 a settings menu to toggle the sort order of the movies by: most popular, highest rated, favourites.
  • 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.
  • When a user changes the sort criteria (“most popular and highest rated”) the main view gets updated correctly.
  • When a movie poster thumbnail is selected, the movie details screen is launched.
  • The titles and IDs of the user’s favorite movies are stored in a native SQLite database and are exposed via a ContentProvider. This ContentProvider is updated whenever the user favorites or unfavorites a movie. No other persistence libraries are used.
  • When the "favorites" setting option is selected, the main view displays the entire favorites collection based on movie ids stored in the ContentProvider.

Screen Shots:


Popular Movies Main

Movie Posters with Settings Menu

Movie Details

Popular Movies Landscape

filmapp's People

Contributors

cherudek avatar gregoriomassarabbc avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.