franklinho / InstagramHomework

Codepath Instagram Homework
0 stars 0 forks source link

[Android Bootcamp] Project 1: Instagram Photo Viewer - Ready for Review #1

Open franklinho opened 8 years ago

franklinho commented 8 years ago

My app is complete, please review. /cc @codepathreview @codepath

Two questions that came up:

  1. Whats the best practice for organizing functions to prepare the listview item for reuse?
  2. What's the best sticky header library for Android? https://github.com/emilsjolander/StickyListHeaders is the only one that seems to be updated but I was wondering if there were better ones.
codepathreview commented 8 years ago

:+1: Excellent work! Good job getting all the stories completed. Nice touch on auto playing videos!

Answers to your questions:

  1. Using the ViewHolder pattern
  2. Yes, that's the best one for sticky headers.

    A few notes after checking out the code:

    • Good layout, proper view naming, usage of sp/dp, margin and relative placement rules
    • Nice effort to produce a neat polished User Interface
    • Nice to see you used the SwipeRefreshLayout for easy stream refreshes
    • Consider better organizing your source files
    • Good job using the ViewHolder pattern to improve performance of photos ListView.
    • Consider including a check to see if internet is available to detect any network failures. Show an appropriate message in case of failure.
    • Consider overriding onFailure method in JsonHttpResponseHandler to handle error messages appropriately.
    • Good job 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 or email us support@codepath.com.

P.S. Good to see you properly added the readme with features and screenshots to your project as described in the submitting assignments guide!