Android Application Development

8,507 views

Published on

Android Application Devlopment. A Guide for the Intermediate Developer. Degree Thesis in Computer Science presented at Malmo Univerity, School of Technology, Department of Computer Science June 4, 2010.

Published in: Technology

Android Application Development

  1. 1. Android Application Development ____________________________ - A guide for the Intermediate Developer
  2. 2. What is Android?
  3. 3. Versions of Android
  4. 4. Android Market April 12
  5. 5. Android Market June 1
  6. 6. Android Market in 7 weeks >>>
  7. 7. Developer? • Keep Track of the Android Market Downloads! • Target lowest version - 1.5 today • Target important versions (1.5, 1.6 & 2.1)
  8. 8. Who owns Android? http://www.openhandsetalliance.com/
  9. 9. Who is OHA? Mobile Operators
  10. 10. Who is OHA? Mobile Semiconductor Operators Companies
  11. 11. Who is OHA? Mobile Semiconductor Handset Operators Companies Manufacturers
  12. 12. Who is OHA? Mobile Semiconductor Handset Software Operators Companies Manufacturers Companies
  13. 13. Who is OHA? Mobile Semiconductor Handset Software Commercialization Operators Companies Manufacturers Companies Companies
  14. 14. Not just...
  15. 15. Android SDK +
  16. 16. Android SDK + • Java Android Library (~Java SE)
  17. 17. Android SDK + • Java Android Library (~Java SE) • Java version 1.5 (1.6)
  18. 18. Android SDK + • Java Android Library (~Java SE) • Java version 1.5 (1.6) • Eclipse IDE + Android Development Tool
  19. 19. Android SDK + • Java Android Library (~Java SE) • Java version 1.5 (1.6) • Eclipse IDE + Android Development Tool • Android Virtual Device
  20. 20. Android SDK + • Java Android Library (~Java SE) • Java version 1.5 (1.6) • Eclipse IDE + Android Development Tool • Android Virtual Device • SD-Card Size > 8 MiB (16 MiB)
  21. 21. Android Virtual Device
  22. 22. How Android Works
  23. 23. Your first Android App ?
  24. 24. Your first Android App ? “Hello World!”
  25. 25. AndroidManifest.xml
  26. 26. AndroidManifest.xml android:label=“@string/app_name”
  27. 27. main.xml
  28. 28. main.xml android:text=“@string/hello”
  29. 29. strings.xml
  30. 30. strings.xml android:text=“@string/hello” <string name=“hello”>Hello World!</string>
  31. 31. strings.xml android:label=“@string/app_name” android:text=“@string/hello” <string name=“hello”>Hello World!</string> <string name=“app_name”>First App</string>
  32. 32. FirstApp.java
  33. 33. FirstApp.java setContentView(R.layout.main); = res/layout/main.xml
  34. 34. Hello World!
  35. 35. Hello World! <string name=“app_name”>First App</string> <string name=“hello”>Hello World!</string>
  36. 36. Multitasking
  37. 37. Multitasking public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ... }
  38. 38. Dalvik Virtual Machine
  39. 39. Dalvik Virtual Machine Instance InstanceInstance Instance Instance Instance Instance Instance Instance Instance Instance
  40. 40. OS Terminator Instance InstanceInstance Instance Instance Instance Instance Instance Instance Instance Instance Memory
  41. 41. OS Terminator InstanceInstance Instance Instance Instance Instance Instance Instance Instance Instance Instance Memory
  42. 42. OS Terminator InstanceInstance Instance Instance Instance Instance Instance Instance Instance Instance savedInstanceState Memory
  43. 43. OS Terminator InstanceInstance Instance Instance Instance Instance Instance Instance Instance savedInstanceState Instance Memory
  44. 44. OS Terminator InstanceInstance Instance Instance Instance Instance Instance Instance Instance savedInstanceState savedInstanceState Memory
  45. 45. User Re-activate App InstanceInstance Instance Instance Instance Instance Instance Instance Instance savedInstanceState savedInstanceState Memory
  46. 46. User Re-activate App Instance Instance Instance savedInstanceState savedInstanceState Memory
  47. 47. User Re-activate App Instance Instance Instance Instance savedInstanceState Memory
  48. 48. User Re-activate App Instance Instance Instance savedInstanceState Instance Instance Memory
  49. 49. Test Application 1. Connect to Network server Quick 2. Login with Facebook connect Value Win 3. Login with user/password 2. 1. 3. Easy
  50. 50. Test Application 1. Connect to Network server Quick 2. Login with Facebook connect Value Win 3. Login with user/password 2. 1. 3. High Value & Easy Difficult
  51. 51. Connect Android phone Network server
  52. 52. Connect Android phone Network server
  53. 53. Facebook Connect http://apps.facebook.com/myfbdevapp/ Facebook Developer Your server
  54. 54. Your Server... Google Analytics!
  55. 55. Android FB Connect • FBRocket • iPhone clone http://wiki.developers.facebook.com/index.php/User:Android
  56. 56. Networking • HTTP + SSL = HTTPS • Use threads to increase User Experience
  57. 57. Reference
  58. 58. Reference
  59. 59. Now what? This summer: Develop mobile app for...
  60. 60. Now what? This summer: Develop mobile app for...
  61. 61. Opposition

×