An Introduction to Android · Latest News • 5 Nov 2007: Android announced • 12 Nov 2007: early...

Post on 26-Aug-2020

0 views 0 download

Transcript of An Introduction to Android · Latest News • 5 Nov 2007: Android announced • 12 Nov 2007: early...

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