Skip to content

Android developer nanodegree, Projects 1 & 2: Popular Movies app assignment

License

Notifications You must be signed in to change notification settings

emmanuel-galindo/PopuMovies

Repository files navigation

PopuMovies

Android developer nanodegree, Projects 1 & 2: Popular Movies app assignment

Assignment guidelines

https://docs.google.com/document/d/1ZlN1fUsCSKuInLECcJkslIqvpKlP7jWL2TP9m6UiA6I/pub?embedded=true

Main Description and features

The goal of this app is to show highest rated movies ever and most popular movies. It feeds from The Movie DB API

Features

  • List movies as a grid
  • Allows to mark movies as favorite
  • Filter options for most popular, highest rated and favorites
  • Movie details includes trailers and reviews

(What I think are) Special Features

  • Works 100% offline by SQLite3 persistence
  • Images also show when offline by using picasso lib with a custom okHTTP3 disk cache
  • Movie navigation with swipe gesture, applying nested fragments and view pager
  • Compatibility down to API 10 as a result of extensive use of support library
  • RecyclerView custom GridLayouts view, with use of Cursor Adapters and Loaders
  • Content Providers technique applied
  • Adaptive for tablets (two pane view)
  • Keeps list position and current selected movie when rotating
  • Swipe to refresh
  • Tutorial view when first time
  • It keeps HTTP calls to minimum by just no getting the same information twice
  • JSON calls are modeled with Retrofit2
  • Collapsing toolbar
  • Horizontal scroll for trailers
  • Expandable Textview for reviews
  • It is done with love =)

Screencast of Portrait mode in 5,5 inch screen

It shows horizontal swipe gesture to navigate between movies, trailers horizontal scroll, expandable textview and favorites features

Screencast portrait

Screenshot of Portrait detail for 3.5 inch screen (API 10!!)

Screenshot portrait 3.5

Screenshot of Landscape two pane for 7 inch screen

Screenshot landscape

Requirements

If you want to build and actually get it working you need TheMovieDB and Youtube API keys stored in res/api-keys.xml (see the _sample.xml)

About

Android developer nanodegree, Projects 1 & 2: Popular Movies app assignment

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages