Giter VIP home page Giter VIP logo

flickster's Introduction

Flickster

Movie application that uses the Movie Database API to provide a up to date list of new movies.

  • Required: User can view a list of movies (title, poster image, and overview) currently playing in theaters from the Movie Database API.
  • Required: Lists should be fully optimized for performance with the ViewHolder pattern.
  • Required: Views should be responsive for both landscape/portrait mode.
  • Optional: Add pull-to-refresh for popular stream with SwipeRefreshLayout (1 point)
  • Optional: Display a nice default placeholder graphic for each image during loading (read more about Picasso) (1 point)
  • Optional: Improve the user interface through styling and coloring (1 to 5 points depending on the difficulty of UI improvements)
  • Optional: 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 ListViews and use different ViewHolder layout files for popular movies and less popular ones. (2 points)
  • Stretch: Did not complete optional stretch items

Video Walkthrough Video Walkthrough

flickster's People

Contributors

terraoldham avatar

Watchers

James Cloos avatar  avatar

flickster's Issues

Week 1 Grading

Week 1: Flicks

๐Ÿ‘ good work, terra! A few notes after checking out the code:

  • Consider following the layout id naming conventations in the following guide:
  • Consider using string resource, dimens and color xml files for default values.
  • Consider including a check to see if the internet is available to detect any network failures. Show an appropriate message in case of failure.
  • nice work organizing your source files. consider creating an activity folder as well.
  • Good to see you playing around with RelativeLayout. RelativeLayout is one of the most powerful responsive-first layout systems available across web and mobile platforms and provides better control in comparison to a linear layout.
  • Nice work handling onFailure method in JsonHttpResponseHandler. Consider adding an error dialog here for the user when a network request fails.
  • Nice to see you used the SwipeRefreshLayout for easy stream refreshes
  • Great work on using a placeholder graphic during loading.
  • Try out the YouTubePlayerView in the future.
  • Consider using the ButterKnife library annotations for declaring handles to view objects.

One of the most important part of these projects is that you add additional features and tweak the UI / UX because that will provide many more learning opportunities. I would encourage you to complete the projects each week with required stories early and then spend time adding your own UI elements and experimenting with optional extensions that will improve the user experience.

We have provided a detailed Project 1 Feedback Guide here which covers the most common points we see for this project. Read through the feedback guide point-by-point to determine other ways you could improve your submission. You should consider going back and implementing applicable feedback as well. Keep in mind that one of the most important parts of Android development is learning the correct patterns and conventions.

Hopefully, this first project has given you a better sense of working with RelativeLayout which is a very flexible layout system, probably one of the most powerful responsive-first layout systems available across web and mobile platforms. This assignment also gave us our first introduction to networking, working with APIs and loading remote images. The next assignment will introduce new concept such as accepting user input and navigating between activities but will also reinforce important concepts such as networking, using APIs, handling remote images.

If you have any particular questions about the assignment in general or on any of the feedback, feel free to reply here or slack me at @lita in the Hearsay channel.

P.S. Good to see you properly added the README with features and screenshots to your project as described in the submitting assignments guide! Hopefully, the submit button worked out. Let me know if you ran into any issues.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.