an introduction to android
TRANSCRIPT
![Page 1: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/1.jpg)
An Introduction to Android
Jason ChenDeveloper Advocate
Google I/O 2008
![Page 2: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/2.jpg)
•Background•What is Android?•Latest News
![Page 3: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/3.jpg)
![Page 4: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/4.jpg)
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
![Page 5: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/5.jpg)
![Page 6: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/6.jpg)
Mobile Operators
![Page 7: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/7.jpg)
Mobile Operators
Handset Manufacturers
![Page 8: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/8.jpg)
Mobile OperatorsSoftware
Handset Manufacturers
![Page 9: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/9.jpg)
Mobile Operators
Semiconductor
Software
Handset Manufacturers
![Page 10: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/10.jpg)
Mobile Operators
SemiconductorCommercialization
Software
Handset Manufacturers
![Page 11: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/11.jpg)
•Background•What is Android?•Latest News
![Page 12: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/12.jpg)
Linux Kernel
DisplayDriver Camera Driver Bluetooth
DriverFlash Memory
DriverBinder (IPC)
Driver
Power ManagementUSB Driver Keypad Driver WiFi Driver Audio
Drivers
![Page 13: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/13.jpg)
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
![Page 14: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/14.jpg)
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
![Page 15: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/15.jpg)
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
![Page 16: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/16.jpg)
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 ...
![Page 17: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/17.jpg)
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.
![Page 18: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/18.jpg)
Developer Toolchain
![Page 19: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/19.jpg)
Emulator
• QEMU-based ARM emulator runs same system image as a device
• Use same toolchain to work with devices or emulator
![Page 20: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/20.jpg)
Eclipse PluginProject template
![Page 21: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/21.jpg)
Debugging
Call stack
Breakpoints, single stepping
Examine variables
![Page 22: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/22.jpg)
Photo by: http://flickr.com/photos/virtualsugar/316200555/
What does open mean?
![Page 23: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/23.jpg)
![Page 24: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/24.jpg)
Industry
![Page 25: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/25.jpg)
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
![Page 26: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/26.jpg)
Industry
![Page 27: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/27.jpg)
Industry Users
![Page 28: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/28.jpg)
•Users have control of their experience•They control what gets installed•They choose the defaults
Industry Users
![Page 29: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/29.jpg)
Industry Users
![Page 30: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/30.jpg)
Industry Users
Developers
![Page 31: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/31.jpg)
•Don’t need permission to ship an application•No hidden or privileged framework APIs•Can integrate, extend, and replace existing components
Industry Users
Developers
![Page 32: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/32.jpg)
![Page 33: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/33.jpg)
Integrate
![Page 34: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/34.jpg)
Integrate
![Page 35: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/35.jpg)
Integrate
![Page 36: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/36.jpg)
Integrate Extend
![Page 37: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/37.jpg)
Integrate Extend
![Page 38: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/38.jpg)
Replace
![Page 39: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/39.jpg)
Replace
![Page 40: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/40.jpg)
Replace
![Page 41: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/41.jpg)
Replace
![Page 42: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/42.jpg)
Replace
![Page 43: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/43.jpg)
![Page 44: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/44.jpg)
What about security?
![Page 45: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/45.jpg)
What does this mean for developers?
![Page 46: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/46.jpg)
•Background•What is Android?•Latest News
![Page 47: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/47.jpg)
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
![Page 48: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/48.jpg)
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
![Page 49: An Introduction To Android](https://reader034.vdocument.in/reader034/viewer/2022052619/5551f500b4c905421a8b4753/html5/thumbnails/49.jpg)
Q & A