Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
An Introduction to Android




   Jason Chen
Developer Advocate
 Google I/O 2008
•Background
•What is Android?
•Latest News
Internet and Mobile Phone Users, Worldwide
4,000,000,000




3,000,000,000




2,000,000,000




1,000,000,000




       ...
Mobile Operators
Handset Manufacturers



Mobile Operators
Handset Manufacturers


                                           Software
Mobile Operators
Handset Manufacturers


                                           Software
Mobile Operators




      Semiconductor
Handset Manufacturers


                                           Software
Mobile Operators




      Semiconductor
     ...
•Background
•What is Android?
•Latest News
Linux Kernel
 Display                        Bluetooth     Flash Memory   Binder (IPC)
             Camera Driver
 Driver ...
Libraries
                      Media
Surface Manager                        SQLite
                   Framework

 OpenGL ...
Libraries                            Android Runtime
                      Media
Surface Manager                        SQ...
Application Framework
                     Window            Content         View                       Notification
Activi...
Applications

                                                                                      ...
    Home          ...
Application Building Blocks
                  UI component typically corresponding to
    Activity
                  one s...
Developer Toolchain
Emulator

           • QEMU-based ARM emulator
             runs same system image as
             a device

           • ...
Eclipse Plugin
Project template
Debugging

 Call stack



                                Examine variables




 Breakpoints, single stepping
What does open mean?




                Photo by: http://flickr.com/photos/virtualsugar/316200555/
Industry
•Software stack open-
           sourced under Apache 2.0
           license
Industry   •Source available after first
     ...
Industry
Industry   Users
•Users have control of
           their experience
Industry                               Users
           •They control w...
Industry   Users
Developers



Industry                Users
Developers

           •Don’t need permission to
           ship an application
           •No hidden or privileged
Indust...
Integrate
Integrate
Integrate
Integrate   Extend
Integrate   Extend
Replace
Replace
Replace
Replace
Replace
What about security?
What does this mean
 for developers?
•Background
•What is Android?
•Latest News
Latest News
•   5 Nov 2007: Android announced

•   12 Nov 2007: early look of the SDK released

•   14 Dec 2007: bug-fix SD...
Android Developer Challenge



•   Goal: help developers turn great ideas into great code

•   Challenge I & II each have ...
Q &A
An Introduction To Android
An Introduction To Android
An Introduction To Android
An Introduction To Android
An Introduction To Android
Upcoming SlideShare
Loading in …5
×

An Introduction To Android

3,024 views

Published on

Published in: Technology

An Introduction To Android

  1. 1. An Introduction to Android Jason Chen Developer Advocate Google I/O 2008
  2. 2. •Background •What is Android? •Latest News
  3. 3. Internet and Mobile Phone Users, Worldwide 4,000,000,000 3,000,000,000 2,000,000,000 1,000,000,000 0 2000 2001 2002 2003 2004 2005 2006 2007 Internet users (PC-based) Source: International Telecommunication Union Mobile phone users
  4. 4. Mobile Operators
  5. 5. Handset Manufacturers Mobile Operators
  6. 6. Handset Manufacturers Software Mobile Operators
  7. 7. Handset Manufacturers Software Mobile Operators Semiconductor
  8. 8. Handset Manufacturers Software Mobile Operators Semiconductor Commercialization
  9. 9. •Background •What is Android? •Latest News
  10. 10. Linux Kernel Display Bluetooth Flash Memory Binder (IPC) Camera Driver Driver Driver Driver Driver Audio Power USB Driver Keypad Driver WiFi Driver Drivers Management
  11. 11. Libraries Media Surface Manager SQLite Framework OpenGL | ES FreeType WebKit SGL SSL libc Linux Kernel Display Bluetooth Flash Memory Binder (IPC) Camera Driver Driver Driver Driver Driver Audio Power USB Driver Keypad Driver WiFi Driver Drivers Management
  12. 12. Libraries Android Runtime Media Surface Manager SQLite Core Libraries Framework Dalvik Virtual OpenGL | ES FreeType WebKit Machine SGL SSL libc Linux Kernel Display Bluetooth Flash Memory Binder (IPC) Camera Driver Driver Driver Driver Driver Audio Power USB Driver Keypad Driver WiFi Driver Drivers Management
  13. 13. Application Framework Window Content View Notification Activity Manager Manager Providers System Manager Telephony Resource Location Package Manager GTalk Service Manager Manager Manager Libraries Android Runtime Media Surface Manager SQLite Core Libraries Framework Dalvik Virtual OpenGL | ES FreeType WebKit Machine SGL SSL libc Linux Kernel Display Bluetooth Flash Memory Binder (IPC) Camera Driver Driver Driver Driver Driver Audio Power USB Driver Keypad Driver WiFi Driver Drivers Management
  14. 14. Applications ... Home Contacts Phone Browser Application Framework Window Content View Notification Activity Manager Manager Providers System Manager Telephony Resource Location Package Manager GTalk Service Manager Manager Manager Libraries Android Runtime Media Surface Manager SQLite Core Libraries Framework Dalvik Virtual OpenGL | ES FreeType WebKit Machine SGL SSL libc Linux Kernel Display Bluetooth Flash Memory Binder (IPC) Camera Driver Driver Driver Driver Driver Audio Power USB Driver Keypad Driver WiFi Driver Drivers Management
  15. 15. Application Building Blocks UI component typically corresponding to Activity one screen. Set and respond to notifications or status IntentReceiver changes. Can wake up your app. Service Faceless task that runs in the background. ContentProvider Enable applications to share data.
  16. 16. Developer Toolchain
  17. 17. Emulator • QEMU-based ARM emulator runs same system image as a device • Use same toolchain to work with devices or emulator
  18. 18. Eclipse Plugin Project template
  19. 19. Debugging Call stack Examine variables Breakpoints, single stepping
  20. 20. What does open mean? Photo by: http://flickr.com/photos/virtualsugar/316200555/
  21. 21. Industry
  22. 22. •Software stack open- sourced under Apache 2.0 license Industry •Source available after first handsets ship •Anyone will be able to build a system image
  23. 23. Industry
  24. 24. Industry Users
  25. 25. •Users have control of their experience Industry Users •They control what gets installed •They choose the defaults
  26. 26. Industry Users
  27. 27. Developers Industry Users
  28. 28. Developers •Don’t need permission to ship an application •No hidden or privileged Industry Users framework APIs •Can integrate, extend, and replace existing components
  29. 29. Integrate
  30. 30. Integrate
  31. 31. Integrate
  32. 32. Integrate Extend
  33. 33. Integrate Extend
  34. 34. Replace
  35. 35. Replace
  36. 36. Replace
  37. 37. Replace
  38. 38. Replace
  39. 39. What about security?
  40. 40. What does this mean for developers?
  41. 41. •Background •What is Android? •Latest News
  42. 42. Latest News • 5 Nov 2007: Android announced • 12 Nov 2007: early look of the SDK released • 14 Dec 2007: bug-fix SDK released • 3 Jan 2008: Android Developer Challenge I starts accepting submissions • 13 Feb 2008: m5-rc15 SDK released • 14 Apr 2008: 1788 total submissions for Challenge I • 12 May 2008: Top 50 Application in Challenge I announced
  43. 43. Android Developer Challenge • Goal: help developers turn great ideas into great code • Challenge I & II each have a $5MM USD purse • Challenge II will begin after devices go on sale
  44. 44. Q &A

×