Introduction to Mobile Application Development on Android

1,927 views
1,885 views

Published on

Published in: Technology
0 Comments
3 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,927
On SlideShare
0
From Embeds
0
Number of Embeds
187
Actions
Shares
0
Downloads
67
Comments
0
Likes
3
Embeds 0
No embeds

No notes for slide

Introduction to Mobile Application Development on Android

  1. 1. Introduction to Mobile Application Development on Android Julian Shen
  2. 2. What’s this? A bird? A plane? Not a Super man either
  3. 3. Smart Phone
  4. 4. 4 • Make a phone call • Surfing internet • Manage your schedule • ..... A smart phone can
  5. 5. 5 Who uses smart phone? Geeks? Students? Business man? Young guys?
  6. 6. Everybody could own one Thanks to Apple and iPhone
  7. 7. So...now you may know
  8. 8. Why should you develop a mobile application? It’s fun Full of challenges Many people in the world may use it Become famous? Maybe 把妹 ?! 最好是把的到 ! Make money
  9. 9. What’s your target users? EverybodyKnowing your users well
  10. 10. But, there is one more thing you should know
  11. 11. 11 It’s a phone not a PC • Less memory, less computing power • Battery is its food • Internet connection is not always on and stable • Some operations cost user money • Lot of hardware combination • Different screen size • With/without GPS • Capacitive/Resistive/No touch screen • ....
  12. 12. Application design philosophy
  13. 13. 13 What is a good mobile application? • Decent user interface • Better performance • Consume less power
  14. 14. 14 A Good User Interface • Should be pretty but not only pretty • Should be also • Reasonable • Predictable • Responsive • Easy to operate by fingers
  15. 15. 15 What you should avoid • Complex and meaningless gestures • Meaningless animations • Inconsistent UI behaviors • Too many operating steps • Hidden steps • Long run logic in UI thread • Block user (Progress dialog is not so good) • Any assumption
  16. 16. 16 Performance • Always think about the worst case • IO costs • Network is slow • Long run (or busy) process consumes battery • Background is good but also evil
  17. 17. You don’t like to see this
  18. 18. Introduction to Android
  19. 19. 20 Android is • A mobile platform • A Google’s product • Linux + Java • Source is available to public
  20. 20. 21 Version History • 1.0 - Sep 2008 • 1.1 - Feb 2009 • 1.5 Cupcake - April 2009 • 1.6 Donut - Sep 2009 • 2.0/2.1 Eclair - Oct 2009 (2.0), Jan 2010 (2.1) • 2.2 Froyo - May 2010 • 2.3(?) Gingerbread - 2010(?)
  21. 21. Architecture
  22. 22. 23 Application Fundamentals• By default, every application runs on its own process • Applications could share process • Each process has its own JVM • By default, each application has a unique Linux UID • It’s possible to share same UID for two different application • Every process has its own memory limit
  23. 23. 24 Application Components • Activities • Services • Broadcast receivers • Content providers
  24. 24. What you need before developing an Android application?
  25. 25. JAVA
  26. 26. Eclipse
  27. 27. Android SDK and ADT Get it from http://www.android.com
  28. 28. SDK document Read it online : http://www.android.com
  29. 29. What else you might be interested?
  30. 30. Android Open Source Check how to get it from http://source.android.com
  31. 31. 32 Why you might need Android sources? • Android document sucks • Trust no one!Truth is in the sources • Many applications could be taken as examples
  32. 32. 33 Other way to develop • Adobe AIR • HTML
  33. 33. First step to Android
  34. 34. 35 Create an Android project • Specify project name • Target platform • Application properties • Every application with UI starts from an Activity
  35. 35. View Hierarchy
  36. 36. 37 Layout • Create a new layout • Add a button • Assign an ID to this button • Add on click action to this button • Loading layout resource • Accessing button from codes
  37. 37. 38 Application Resources • Layout • Drawables • Strings • Colors • Styles • ...
  38. 38. 39 Run and Debug • Create an AVD • Run application • Using DDMS • Check UI hierarchy from hierarchy viewer
  39. 39. Traceview
  40. 40. May force be with you

×