Flix 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 data binding for views to help remove boilerplate code. (1 point)
- Add a rounded corners for the images using the Glide transformations. (1 point)
TODO://
Add the URL to your animated app walkthough gif
in the image tag below, YOUR_GIF_URL_HERE
. Make sure the gif actually renders and animates when viewing this README. (๐ซ Remove this paragraph after after adding gif)
I think I spent the most time working on databinding, the instruction set were not as intuitive as i wanted it to be but I had a great time trying to work around it. I admit, I did get stuck for quite some time on binding the Image using a custom data Binder since it wasnt really clear in the instruction how to make a custom BindingAdapter, then since the instruction were for Picaso and not Glide, i was stuck for abit there too trying to get Glide to work as I wanted it to with the transformation. Overall I had great fun, since the challanging part was what made me mode comfortable (at least a little bit more) with kotlin syntaxes.
One thing I tried to work on was for the YT player to continue where it left of when changing to and fro fullscreen but I wasnt able to, will look forward to learn more about that.
Thank you
- 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.
Im stuggling to use resources.configuration to make an alternative path so that landscape mode displays the backdrop image rather then the poster image. Will try to do so later if time permits
- Android Async HTTP - Simple asynchronous HTTP requests with JSON parsing
- Glide - Image loading and caching library for Androids