ZekunWang / Flickster

Android Bootcamp - Project 1: An app that implements search for latest movies
0 stars 0 forks source link

[Android Bootcamp] Project 1 - Review my app #1

Open ZekunWang opened 8 years ago

ZekunWang commented 8 years ago

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

My Genymotion emulator runs very slow and the app is not smooth when I scroll fast. The app can run very well on Android studio's emulator except for playing youtube, so it should not be the problem of the app. How can I fix the problem?

nesquena commented 8 years ago

@ZekunWang Do you happen to have an Android device? That's usually the best option if you do have one, much better than official emulator or genymotion. Any reason you started on this first project so early? (Not that it's a bad idea to get an early start).

ZekunWang commented 8 years ago

Hi Nathan,

It is just because I like to plan things ahead in case I will have some issues unexpected and do not have enough time to finish my work. I tried the emulator today and it is much better. But I still wish to make Genymotion faster if it is possible because I will need to make a gif walk through with it.

Thanks, Zekun Wang

On Sun, Jul 17, 2016 at 10:40 PM, Nathan Esquenazi <notifications@github.com

wrote:

@ZekunWang https://github.com/ZekunWang Do you happen to have an Android device? That's usually the best option http://guides.codepath.com/android/Running-Apps-on-Your-Device if you do have one, much better than official emulator or genymotion. Any reason you started on this first project so early?

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ZekunWang/Flickster/issues/1#issuecomment-233223941, or mute the thread https://github.com/notifications/unsubscribe-auth/ANcomlnV4zl-qmzpm47D2YaHulcKFN9zks5qWvWfgaJpZM4JOJix .

nesquena commented 8 years ago

Glad to hear it's working better today. Try using a lower resolution device on Genymotion. Perhaps a Nexus 4 for example. Look at the resolution and try to get it as low as possible for better performance.

Also if you have a device you can record directly from it and provide your project walkthrough as a video https://guides.codepath.com/android/Recording-Video-of-an-Android-Device instead of a GIF.

ZekunWang commented 8 years ago

Hi Nathan,

Thanks for the link. Can you also show me how to link the video within README file?

Thanks, Zekun

On Mon, Jul 18, 2016 at 12:13 AM, Nathan Esquenazi <notifications@github.com

wrote:

Glad to hear it's working better today. Try using a lower resolution device on Genymotion. Perhaps a Nexus 4 for example. Look at the resolution and try to get it as low as possible for better performance.

Also if you have a device you can record directly from it and provide your project walkthrough as a video https://guides.codepath.com/android/Recording-Video-of-an-Android-Device instead of a GIF.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ZekunWang/Flickster/issues/1#issuecomment-233229734, or mute the thread https://github.com/notifications/unsubscribe-auth/ANcomhwJDAsMoAWGhaXO6BGKn-L5WwTaks5qWwtggaJpZM4JOJix .

nesquena commented 8 years ago

Easiest is to put onto vimeo (http://vimeo.com/) or similar and then you can just include a link to the video on the README and/or convert the video to a GIF

ZekunWang commented 8 years ago

Hi Nathan,

Thanks for the link. I will try it in the second week project.

Zekun

On Mon, Jul 18, 2016 at 1:44 PM, Nathan Esquenazi notifications@github.com wrote:

Easiest is to put onto vimeo (http://vimeo.com/) or similar and then you can just include a link to the video on the README and/or convert the video to a GIF http://ezgif.com/video-to-gif

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ZekunWang/Flickster/issues/1#issuecomment-233420396, or mute the thread https://github.com/notifications/unsubscribe-auth/ANcomrIomRCAjXZEoKaRJ7eiE4i9jdSBks5qW8l9gaJpZM4JOJix .

nesquena commented 8 years ago

Okay great we'll be reviewing this project further this weekend and providing feedback.

ZekunWang commented 8 years ago

Sure. I look forward to the feedback and making the app better.

Zekun

On Mon, Jul 18, 2016 at 2:33 PM, Nathan Esquenazi notifications@github.com wrote:

Okay great we'll be reviewing this project further this weekend and providing feedback.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ZekunWang/Flickster/issues/1#issuecomment-233433953, or mute the thread https://github.com/notifications/unsubscribe-auth/ANcompjrX_UvcZKoV0uRTX07EXJtCaiwks5qW9UagaJpZM4JOJix .

ZekunWang commented 8 years ago

Hi Nathan,

I tried this app with my Nexus 6 last night and the layout in my Nexus 6 is different from the Genymotion Nexus 6 emulator. Why is that happening? It took me a long time to fix the layout issue. Now the app is using a layout according to the width of screen from the device and it looks good in my phone and the emulator, but they are still different.

Besides, does Butterknife just save the codes? Does the annotation thing run faster than calling findViewById() ?

Thanks, Zekun Wang

On Mon, Jul 18, 2016 at 2:33 PM, Nathan Esquenazi notifications@github.com wrote:

Okay great we'll be reviewing this project further this weekend and providing feedback.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/ZekunWang/Flickster/issues/1#issuecomment-233433953, or mute the thread https://github.com/notifications/unsubscribe-auth/ANcompjrX_UvcZKoV0uRTX07EXJtCaiwks5qW9UagaJpZM4JOJix .

nesquena commented 8 years ago

I tried this app with my Nexus 6 last night and the layout in my Nexus 6 is different from the Genymotion Nexus 6 emulator. Why is that happening? It took me a long time to fix the layout issue. Now the app is using a layout according to the width of screen from the device and it looks good in my phone and the emulator, but they are still different.

This is normal, you can never rely on the width or screen density being the same. You need to have a responsive layout or multiple layouts using RelativeLayout to make sure that the screen looks good at a variety of resolutions. Use the "Preview all screen sizes" feature to test your layouts in Android Studio.

Besides, does Butterknife just save the codes? Does the annotation thing run faster than calling findViewById() ?

Butterknife ensures that findViewById is only called once for a view. It doesn't speed up lookup of findViewById but it also doesn't slow it down thanks to compile-time code generation. So speed is the same but less code!

codepathreview commented 8 years ago

:+1: Great work on a polished assignment! 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 and screenshots to your project as described in the submitting assignments guide!