An Introduction to Android 
Jason Chen 
Developer Advocate 
Google I/O 2008
•Background 
•What is Android? 
•Latest News
4,000,000,000 
3,000,000,000 
2,000,000,000 
1,000,000,000 
0 
Internet and Mobile Phone Users, Worldwide 
2000 2001 2002 2003 2004 2005 2006 2007 
Internet users (PC-based) 
Mobile phone users 
Source: International Telecommunication Union
Mobile Operators
Mobile Operators 
Handset Manufacturers
Mobile Operators 
Software 
Handset Manufacturers
Mobile Operators 
Semiconductor 
Software 
Handset Manufacturers
Mobile Operators 
Handset Manufacturers 
Semiconductor 
Software 
Commercialization
•Background 
•What is Android? 
•Latest News
Linux Kernel 
Display 
Driver Camera Driver Bluetooth 
Driver 
Flash Memory 
Driver 
Binder (IPC) 
Driver 
USB Driver Keypad Driver WiFi Driver Audio 
Power 
Drivers 
Management
Linux Kernel 
Display 
Driver Camera Driver Bluetooth 
Driver 
Flash Memory 
Driver 
Binder (IPC) 
Driver 
USB Driver Keypad Driver WiFi Driver Audio 
Power 
Drivers 
Management Libraries 
FreeType 
SGL SSL 
SQLite 
WebKit 
libc 
Surface Manager 
OpenGL | ES 
Media 
Framework
Android Runtime 
Core Libraries 
Dalvik Virtual 
Machine 
Linux Kernel 
Display 
Driver Camera Driver Bluetooth 
Driver 
Flash Memory 
Driver 
Binder (IPC) 
Driver 
USB Driver Keypad Driver WiFi Driver Audio 
Power 
Drivers 
Management Libraries 
FreeType 
SGL SSL 
SQLite 
WebKit 
libc 
Surface Manager 
OpenGL | ES 
Media 
Framework
Android Runtime 
Core Libraries 
Dalvik Virtual 
Machine 
Application Framework 
View 
System 
Content 
Providers 
Resource 
Manager Location GTalk Service 
Manager 
Activity Manager 
Package Manager 
Window 
Manager 
Telephony 
Manager 
Notification 
Manager 
Linux Kernel 
Display 
Driver Camera Driver Bluetooth 
Driver 
Flash Memory 
Driver 
Binder (IPC) 
Driver 
USB Driver Keypad Driver WiFi Driver Audio 
Power 
Drivers 
Management Libraries 
FreeType 
SGL SSL 
SQLite 
WebKit 
libc 
Surface Manager 
OpenGL | ES 
Media 
Framework
Android Runtime 
Core Libraries 
Dalvik Virtual 
Machine 
Application Framework 
View 
System 
Content 
Providers 
Resource 
Manager Location GTalk Service 
Manager 
Activity Manager 
Package Manager 
Window 
Manager 
Telephony 
Manager 
Notification 
Manager 
Linux Kernel 
Display 
Driver Camera Driver Bluetooth 
Driver 
Flash Memory 
Driver 
Binder (IPC) 
Driver 
USB Driver Keypad Driver WiFi Driver Audio 
Power 
Drivers 
Management Libraries 
FreeType 
SGL SSL 
SQLite 
WebKit 
libc 
Surface Manager 
OpenGL | ES 
Media 
Framework 
Applications 
Home Contacts Phone Browser ...
Application Building Blocks 
Activity UI component typically corresponding to 
one screen. 
IntentReceiver Set and respond to notifications or status 
changes. Can wake up your app. 
Service Faceless task that runs in the background. 
ContentProvider Enable applications to share data.
Developer Toolchain
Emulator 
• QEMU-based ARM emulator 
runs same system image as 
a device 
• Use same toolchain to work 
with devices or emulator
Eclipse Plugin 
Project template
Debugging 
Call stack 
Breakpoints, single stepping 
Examine variables
What does open mean? 
Photo by: http://flickr.com/photos/virtualsugar/316200555/
Industry
Industry 
•Software stack open-sourced 
under Apache 2.0 
license 
•Source available after first 
handsets ship 
•Anyone will be able to 
build a system image
Industry
Industry Users
•Users have control of 
their experience 
•They control what gets 
installed 
•They choose the defaults 
Industry Users
Industry Users
Developers 
Industry Users
Developers 
•Don’t need permission to 
ship an application 
•No hidden or privileged 
framework APIs 
•Can integrate, 
extend, and replace 
existing components 
Industry Users
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 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
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
Q & A

14180203 an-introduction-to-android

  • 1.
    An Introduction toAndroid Jason Chen Developer Advocate Google I/O 2008
  • 2.
    •Background •What isAndroid? •Latest News
  • 4.
    4,000,000,000 3,000,000,000 2,000,000,000 1,000,000,000 0 Internet and Mobile Phone Users, Worldwide 2000 2001 2002 2003 2004 2005 2006 2007 Internet users (PC-based) Mobile phone users Source: International Telecommunication Union
  • 6.
  • 7.
  • 8.
    Mobile Operators Software Handset Manufacturers
  • 9.
    Mobile Operators Semiconductor Software Handset Manufacturers
  • 10.
    Mobile Operators HandsetManufacturers Semiconductor Software Commercialization
  • 11.
    •Background •What isAndroid? •Latest News
  • 12.
    Linux Kernel Display Driver Camera Driver Bluetooth Driver Flash Memory Driver Binder (IPC) Driver USB Driver Keypad Driver WiFi Driver Audio Power Drivers Management
  • 13.
    Linux Kernel Display Driver Camera Driver Bluetooth Driver Flash Memory Driver Binder (IPC) Driver USB Driver Keypad Driver WiFi Driver Audio Power Drivers Management Libraries FreeType SGL SSL SQLite WebKit libc Surface Manager OpenGL | ES Media Framework
  • 14.
    Android Runtime CoreLibraries Dalvik Virtual Machine Linux Kernel Display Driver Camera Driver Bluetooth Driver Flash Memory Driver Binder (IPC) Driver USB Driver Keypad Driver WiFi Driver Audio Power Drivers Management Libraries FreeType SGL SSL SQLite WebKit libc Surface Manager OpenGL | ES Media Framework
  • 15.
    Android Runtime CoreLibraries Dalvik Virtual Machine Application Framework View System Content Providers Resource Manager Location GTalk Service Manager Activity Manager Package Manager Window Manager Telephony Manager Notification Manager Linux Kernel Display Driver Camera Driver Bluetooth Driver Flash Memory Driver Binder (IPC) Driver USB Driver Keypad Driver WiFi Driver Audio Power Drivers Management Libraries FreeType SGL SSL SQLite WebKit libc Surface Manager OpenGL | ES Media Framework
  • 16.
    Android Runtime CoreLibraries Dalvik Virtual Machine Application Framework View System Content Providers Resource Manager Location GTalk Service Manager Activity Manager Package Manager Window Manager Telephony Manager Notification Manager Linux Kernel Display Driver Camera Driver Bluetooth Driver Flash Memory Driver Binder (IPC) Driver USB Driver Keypad Driver WiFi Driver Audio Power Drivers Management Libraries FreeType SGL SSL SQLite WebKit libc Surface Manager OpenGL | ES Media Framework Applications Home Contacts Phone Browser ...
  • 17.
    Application Building Blocks Activity UI component typically corresponding to one screen. IntentReceiver Set and respond to notifications or status changes. Can wake up your app. Service Faceless task that runs in the background. ContentProvider Enable applications to share data.
  • 18.
  • 19.
    Emulator • QEMU-basedARM emulator runs same system image as a device • Use same toolchain to work with devices or emulator
  • 20.
  • 21.
    Debugging Call stack Breakpoints, single stepping Examine variables
  • 22.
    What does openmean? Photo by: http://flickr.com/photos/virtualsugar/316200555/
  • 24.
  • 25.
    Industry •Software stackopen-sourced under Apache 2.0 license •Source available after first handsets ship •Anyone will be able to build a system image
  • 26.
  • 27.
  • 28.
    •Users have controlof their experience •They control what gets installed •They choose the defaults Industry Users
  • 29.
  • 30.
  • 31.
    Developers •Don’t needpermission to ship an application •No hidden or privileged framework APIs •Can integrate, extend, and replace existing components Industry Users
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41.
  • 42.
  • 44.
  • 45.
    What does thismean for developers?
  • 46.
    •Background •What isAndroid? •Latest News
  • 47.
    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
  • 48.
    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
  • 49.