Post on 26-Aug-2020
transcript
An Introduction to Android
Jason ChenDeveloper Advocate
Google I/O 2008
•Background•What is Android?•Latest News
Download at Pin5i.Com
Download at Pin5i.Com
0
1,000,000,000
2,000,000,000
3,000,000,000
4,000,000,000
2000 2001 2002 2003 2004 2005 2006 2007
Internet and Mobile Phone Users, Worldwide
Internet users (PC-based)Mobile phone users
Source: International Telecommunication Union
Download at Pin5i.Com
Download at Pin5i.Com
Mobile Operators
Download at Pin5i.Com
Mobile Operators
Handset Manufacturers
Download at Pin5i.Com
Mobile OperatorsSoftware
Handset Manufacturers
Download at Pin5i.Com
Mobile Operators
Semiconductor
Software
Handset Manufacturers
Download at Pin5i.Com
Mobile Operators
SemiconductorCommercialization
Software
Handset Manufacturers
Download at Pin5i.Com
•Background•What is Android?•Latest News
Download at Pin5i.Com
Linux Kernel
DisplayDriver Camera Driver Bluetooth
DriverFlash Memory
DriverBinder (IPC)
Driver
Power ManagementUSB Driver Keypad Driver WiFi Driver Audio
Drivers
Download at Pin5i.Com
Linux Kernel
DisplayDriver Camera Driver Bluetooth
DriverFlash Memory
DriverBinder (IPC)
Driver
Power ManagementUSB Driver Keypad Driver WiFi Driver Audio
Drivers
Libraries
FreeType
SGL SSL
SQLite
WebKit
libc
Surface Manager
OpenGL | ES
MediaFramework
Download at Pin5i.Com
Android Runtime
Dalvik Virtual Machine
Core Libraries
Linux Kernel
DisplayDriver Camera Driver Bluetooth
DriverFlash Memory
DriverBinder (IPC)
Driver
Power ManagementUSB Driver Keypad Driver WiFi Driver Audio
Drivers
Libraries
FreeType
SGL SSL
SQLite
WebKit
libc
Surface Manager
OpenGL | ES
MediaFramework
Download at Pin5i.Com
Android Runtime
Dalvik Virtual Machine
Core Libraries
Application Framework
ViewSystem
Content Providers
Resource Manager GTalk ServiceLocation
Manager
Activity Manager
Package Manager
WindowManager
TelephonyManager
NotificationManager
Linux Kernel
DisplayDriver Camera Driver Bluetooth
DriverFlash Memory
DriverBinder (IPC)
Driver
Power ManagementUSB Driver Keypad Driver WiFi Driver Audio
Drivers
Libraries
FreeType
SGL SSL
SQLite
WebKit
libc
Surface Manager
OpenGL | ES
MediaFramework
Download at Pin5i.Com
Android Runtime
Dalvik Virtual Machine
Core Libraries
Application Framework
ViewSystem
Content Providers
Resource Manager GTalk ServiceLocation
Manager
Activity Manager
Package Manager
WindowManager
TelephonyManager
NotificationManager
Linux Kernel
DisplayDriver Camera Driver Bluetooth
DriverFlash Memory
DriverBinder (IPC)
Driver
Power ManagementUSB Driver Keypad Driver WiFi Driver Audio
Drivers
Libraries
FreeType
SGL SSL
SQLite
WebKit
libc
Surface Manager
OpenGL | ES
MediaFramework
Applications
Home PhoneContacts Browser ...
Download at Pin5i.Com
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.
Download at Pin5i.Com
Developer Toolchain
Download at Pin5i.Com
Emulator
• QEMU-based ARM emulator runs same system image as a device
• Use same toolchain to work with devices or emulator
Download at Pin5i.Com
Eclipse PluginProject template
Download at Pin5i.Com
Debugging
Call stack
Breakpoints, single stepping
Examine variables
Download at Pin5i.Com
Photo by: http://flickr.com/photos/virtualsugar/316200555/
What does open mean?
Download at Pin5i.Com
Download at Pin5i.Com
Industry
Download at Pin5i.Com
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
Download at Pin5i.Com
Industry
Download at Pin5i.Com
Industry Users
Download at Pin5i.Com
•Users have control of their experience•They control what gets installed•They choose the defaults
Industry Users
Download at Pin5i.Com
Industry Users
Download at Pin5i.Com
Industry Users
Developers
Download at Pin5i.Com
•Don’t need permission to ship an application•No hidden or privileged framework APIs•Can integrate, extend, and replace existing components
Industry Users
Developers
Download at Pin5i.Com
Download at Pin5i.Com
Integrate
Download at Pin5i.Com
Integrate
Download at Pin5i.Com
Integrate
Download at Pin5i.Com
Integrate Extend
Download at Pin5i.Com
Integrate Extend
Download at Pin5i.Com
Replace
Download at Pin5i.Com
Replace
Download at Pin5i.Com
Replace
Download at Pin5i.Com
Replace
Download at Pin5i.Com
Replace
Download at Pin5i.Com
Download at Pin5i.Com
What about security?
Download at Pin5i.Com
What does this mean for developers?
Download at Pin5i.Com
•Background•What is Android?•Latest News
Download at Pin5i.Com
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
Download at Pin5i.Com
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
Download at Pin5i.Com
Q & A
Download at Pin5i.Com