Flixster is an app that allows users to browse movies from the The Movie Database API.
- (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.
- 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)
Describe any challenges encountered while building the app:
- Round corner did not succeed at first and fixed with searching for other students' questions, should add .fitCenter() to Gulid.
- Android Async HTTP - Simple asynchronous HTTP requests with JSON parsing
- Glide - Image loading and caching library for Android
- (10pts) User can view a list of movies (title, poster image, and overview) currently playing in theaters from the Movie Database API.
-
(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.
- I had a bug in the Adapter, instead of returning the size of the movies, I return 0 so nothing was shown on my screen.
- I also had problem with adding placeholder before image was loaded. Adding a loading.xml in the res/drawable successfully solve the problem.
- Android Async HTTP - Simple asynchronous HTTP requests with JSON parsing
- Glide - Image loading and caching library for Androids