Android
   Application
  Development
____________________________

- A guide for the Intermediate Developer
What is Android?
Versions of Android
Android Market
   April 12
Android Market
    June 1
Android Market
  in 7 weeks


      >>>
Developer?

• Keep Track of the Android Market
  Downloads!
• Target lowest version - 1.5 today
• Target important version...
Who owns Android?




http://www.openhandsetalliance.com/
Who is OHA?
 Mobile
Operators
Who is OHA?
 Mobile     Semiconductor
Operators     Companies
Who is OHA?
 Mobile     Semiconductor     Handset
Operators     Companies     Manufacturers
Who is OHA?
 Mobile     Semiconductor     Handset        Software
Operators     Companies     Manufacturers   Companies
Who is OHA?
 Mobile     Semiconductor     Handset        Software   Commercialization
Operators     Companies     Manufact...
Not just...
Android SDK +
Android SDK +

• Java Android Library (~Java SE)
Android SDK +

• Java Android Library (~Java SE)
• Java version 1.5 (1.6)
Android SDK +

• Java Android Library (~Java SE)
• Java version 1.5 (1.6)
• Eclipse IDE + Android Development Tool
Android SDK +

• Java Android Library (~Java SE)
• Java version 1.5 (1.6)
• Eclipse IDE + Android Development Tool
• Andro...
Android SDK +

• Java Android Library (~Java SE)
• Java version 1.5 (1.6)
• Eclipse IDE + Android Development Tool
• Andro...
Android Virtual Device
How Android Works
Your first Android App


         ?
Your first Android App


         ?
   “Hello World!”
AndroidManifest.xml
AndroidManifest.xml




 android:label=“@string/app_name”
main.xml
main.xml




android:text=“@string/hello”
strings.xml
strings.xml
           android:text=“@string/hello”




<string name=“hello”>Hello World!</string>
strings.xml
           android:label=“@string/app_name”
           android:text=“@string/hello”




<string name=“hello”>H...
FirstApp.java
FirstApp.java




setContentView(R.layout.main);
    = res/layout/main.xml
Hello World!
Hello World!
<string name=“app_name”>First App</string>




<string name=“hello”>Hello World!</string>
Multitasking
Multitasking



public void onCreate(Bundle savedInstanceState)
{
     super.onCreate(savedInstanceState);
     ...
}
Dalvik Virtual Machine
Dalvik Virtual Machine
     Instance               InstanceInstance
                    Instance
                         ...
OS Terminator
     Instance               InstanceInstance
                    Instance
                           Instanc...
OS Terminator
                             InstanceInstance
                     Instance
                            Inst...
OS Terminator
                                       InstanceInstance
                               Instance
            ...
OS Terminator
                                 InstanceInstance
                         Instance
                        ...
OS Terminator
                                 InstanceInstance
                         Instance
                        ...
User Re-activate App
                                 InstanceInstance
                         Instance
                 ...
User Re-activate App

                       Instance
Instance                      Instance




  savedInstanceState     ...
User Re-activate App
       Instance
                  Instance
Instance                 Instance




                    ...
User Re-activate App
       Instance
                  Instance       Instance
                                 savedInsta...
Test Application
1. Connect to Network server
                                                 Quick
2. Login with Faceboo...
Test Application
1. Connect to Network server
                                                 Quick
2. Login with Faceboo...
Connect
 Android
  phone




 Network
  server
Connect
 Android
  phone




 Network
  server
Facebook Connect
http://apps.facebook.com/myfbdevapp/
             Facebook
             Developer




                You...
Your Server...
Google Analytics!
Android FB Connect


   • FBRocket
   • iPhone clone


http://wiki.developers.facebook.com/index.php/User:Android
Networking


• HTTP + SSL = HTTPS
• Use threads to increase User Experience
Reference
Reference
Now what?
This summer: Develop mobile app for...
Now what?
This summer: Develop mobile app for...
Opposition
Android Application Development
Upcoming SlideShare
Loading in...5
×

Android Application Development

4,489

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
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
4,489
On Slideshare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
415
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide


































































































































































































































































































  • 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
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.

    ×