Your SlideShare is downloading. ×

Introduction to Mobile Application Development on Android

1,796
views

Published on

Published in: Technology

0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,796
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
60
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Introduction to Mobile Application Development on Android Julian Shen
  • 2. What’s this? A bird? A plane? Not a Super man either
  • 3. Smart Phone
  • 4. 4 • Make a phone call • Surfing internet • Manage your schedule • ..... A smart phone can
  • 5. 5 Who uses smart phone? Geeks? Students? Business man? Young guys?
  • 6. Everybody could own one Thanks to Apple and iPhone
  • 7. So...now you may know
  • 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. What’s your target users? EverybodyKnowing your users well
  • 10. But, there is one more thing you should know
  • 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. Application design philosophy
  • 13. 13 What is a good mobile application? • Decent user interface • Better performance • Consume less power
  • 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 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 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. You don’t like to see this
  • 18. Introduction to Android
  • 19. 20 Android is • A mobile platform • A Google’s product • Linux + Java • Source is available to public
  • 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. Architecture
  • 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. 24 Application Components • Activities • Services • Broadcast receivers • Content providers
  • 24. What you need before developing an Android application?
  • 25. JAVA
  • 26. Eclipse
  • 27. Android SDK and ADT Get it from http://www.android.com
  • 28. SDK document Read it online : http://www.android.com
  • 29. What else you might be interested?
  • 30. Android Open Source Check how to get it from http://source.android.com
  • 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. 33 Other way to develop • Adobe AIR • HTML
  • 33. First step to Android
  • 34. 35 Create an Android project • Specify project name • Target platform • Application properties • Every application with UI starts from an Activity
  • 35. View Hierarchy
  • 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. 38 Application Resources • Layout • Drawables • Strings • Colors • Styles • ...
  • 38. 39 Run and Debug • Create an AVD • Run application • Using DDMS • Check UI hierarchy from hierarchy viewer
  • 39. Traceview
  • 40. May force be with you