Flixter
Flixter is an app that allows users to browse movies from the The Movie Database API.
User Stories
Must-Have Stories
- User can view a list of movies (title, poster image, and overview) currently playing in theaters from the Movie Database API.
- Expose details of movie (ratings using RatingBar, popularity, and synopsis) in a separate activity.
- Allow video posts to be played in full-screen using the YouTubePlayerView.
Nice-To-Have Stories
- Views should be responsive for both landscape/portrait mode.
- In portrait mode, the poster image, title, and movie overview is shown.
- In landscape mode, the rotated alternate layout should use the backdrop image instead and show the title and movie overview to the right of it.
- Display a nice default placeholder graphic for each image during loading
- Improved the user interface by experimenting with styling and coloring.
- For popular movies (i.e. a movie voted for more than 5 stars), the full backdrop image is displayed. Otherwise, a poster image, the movie title, and overview is listed. Use Heterogenous RecyclerViews and use different ViewHolder layout files for popular movies and less popular ones.
- Trailers for popular movies are played automatically when the movie is selected (1 point).
- When clicking on a popular movie (i.e. a movie voted for more than 5 stars) the video should be played immediately.
- Less popular videos rely on the detailed page should show an image preview that can initiate playing a YouTube video.
- Add a play icon overlay to popular movies to indicate that the movie can be played (1 point).
- Apply the popular ButterKnife annotation library to reduce view boilerplate. (1 point)
- Add a rounded corners for the images using the Glide transformations. (1 point)
App Walkthough GIFs
Open-source libraries used
- Android Async HTTP - Simple asynchronous HTTP requests with JSON parsing
- Glide - Image loading and caching library for Androids