Skip to content
This repository was archived by the owner on May 1, 2026. It is now read-only.

Latest commit

 

History

History
61 lines (41 loc) · 3.48 KB

File metadata and controls

61 lines (41 loc) · 3.48 KB

Flix

Flix is an app that allows users to browse movies from the The Movie Database API.

Flix Part 2

User Stories

REQUIRED (10pts)

  • (8pts) Expose details of movie (ratings using RatingBar, popularity, and synopsis) in a separate activity.
  • (2pts) Allow video posts to be played in full-screen using the YouTubePlayerView.

BONUS

  • Implement a shared element transition when user clicks into the details of a movie (1 point).
  • 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 GIF

Video Walkthrough

GIF created with LiceCap.

Notes (Part 2)

I ran into issues when I was attempting to use the Genre API to list the genres rather than the genre ids of the movie. What I learned was that I needed to not put code after the client get method, because there ends up being a race condition and the variables kept being null. After I put the code that needed the genres within the client method I didn't have any issues. I got stuck on this for a while.

Having multiple viewholders made some of the stretch goals more difficult to accomplish.

Flix Part 1

User Stories

REQUIRED (10pts)

  • (10pts) User can view a list of movies (title, poster image, and overview) currently playing in theaters from the Movie Database API.

BONUS

  • (2pts) Views should be responsive for both landscape/portrait mode.

    • (1pt) In portrait mode, the poster image, title, and movie overview is shown.
    • (1pt) 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.
  • (2pts) Display a nice default placeholder graphic for each image during loading

  • (2pts) Improved the user interface by experimenting with styling and coloring.

  • (2pts) 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.

App Walkthough GIF

Video Walkthrough

Video Walkthrough

GIFs created with LiceCap.

Notes

I had the most difficulty implementing the different views depending on whether the movie was popular or not.

Open-source libraries used

  • Android Async HTTP - Simple asynchronous HTTP requests with JSON parsing
  • Glide - Image loading and caching library for Androids