AnthonyCaliendo / instagram_photo_viewer

Instagram Photo Viewer is an android app that allows a user to check out popular photos from Instagram
0 stars 0 forks source link

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

Open AnthonyCaliendo opened 9 years ago

AnthonyCaliendo commented 9 years ago

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

codepathreview commented 9 years ago

Great job completing all the required stories & most of the optionals. A few notes after checking out the code:

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 to your project as described in the submitting assignments guide!

AnthonyCaliendo commented 9 years ago

@codepathreview Thanks for the feedback!

I have implemented the messaging around network issues as suggested:

connection-error-dialog

I pushed the commit to the repo, in case you want to check it out.

Consider externalizing string resources for internationalization, even if they're just hint texts. Consider using android:hint instead of android:text as appropriate

I had no user visible strings in this app at the time of the review (I have since added them for the network connection error above), as everything is driven off of the data from instagram.

Can you explain what you meant by this comment originally?

Consider using the ViewHolder pattern to improve performance of photos ListView.

The hints for this assignment linked to this codepath page about using ViewHolders, and that page links to another article about using subclassing instead of ViewHolders.

I opted for using the subclassing approach since it has the same benefits without some of the downsides of the "classic" ViewHolder pattern, and was also linked to in the codepath wiki page.

Is the codepath wiki page out of date? Is using View subclassing no longer accepted as a viable alternative for ViewHolders?

I'm curious what the best practice is around this for android, as the subclassing approach seems better from a "classic java" point of view.

/cc @codepathreview