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

0 2000

2001

Internet users (PC-based) Mobile phone users

2002

2003

2004

2005

2006

2007

Source: International Telecommunication Union

Mobile Operators

Handset Manufacturers

Mobile Operators

Handset Manufacturers Software Mobile Operators

Handset Manufacturers Software Mobile Operators

Semiconductor

Handset Manufacturers Software Mobile Operators

Semiconductor 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 Drivers

Power Management

Libraries Surface Manager

Media Framework

SQLite

OpenGL | ES

FreeType

WebKit

SGL

SSL

libc

Linux Kernel Display Driver

Camera Driver

Bluetooth Driver

Flash Memory Driver

Binder (IPC) Driver

USB Driver

Keypad Driver

WiFi Driver

Audio Drivers

Power Management

Libraries

Android Runtime

Surface Manager

Media Framework

SQLite

Core Libraries

OpenGL | ES

FreeType

WebKit

Dalvik Virtual Machine

SGL

SSL

libc

Linux Kernel Display Driver

Camera Driver

Bluetooth Driver

Flash Memory Driver

Binder (IPC) Driver

USB Driver

Keypad Driver

WiFi Driver

Audio Drivers

Power Management

Application Framework Activity Manager

Window Manager

Content Providers

View System

Notification Manager

Package Manager

Telephony Manager

Resource Manager

Location Manager

GTalk Service

Libraries

Android Runtime

Surface Manager

Media Framework

SQLite

Core Libraries

OpenGL | ES

FreeType

WebKit

Dalvik Virtual Machine

SGL

SSL

libc

Linux Kernel Display Driver

Camera Driver

Bluetooth Driver

Flash Memory Driver

Binder (IPC) Driver

USB Driver

Keypad Driver

WiFi Driver

Audio Drivers

Power Management

Applications Home

Contacts

Phone

Browser

...

Application Framework Activity Manager

Window Manager

Content Providers

View System

Notification Manager

Package Manager

Telephony Manager

Resource Manager

Location Manager

GTalk Service

Libraries

Android Runtime

Surface Manager

Media Framework

SQLite

Core Libraries

OpenGL | ES

FreeType

WebKit

Dalvik Virtual Machine

SGL

SSL

libc

Linux Kernel Display Driver

Camera Driver

Bluetooth Driver

Flash Memory Driver

Binder (IPC) Driver

USB Driver

Keypad Driver

WiFi Driver

Audio Drivers

Power Management

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

Examine variables

Breakpoints, single stepping

What does open mean?

Photo by: http://flickr.com/photos/virtualsugar/316200555/

Industry

•Software stack open-

Industry

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

Industry

their experience •They control what gets installed •They choose the defaults

Users

Industry

Users

Developers

Industry

Users

Developers •Don’t need permission to

Industry

ship an application •No hidden or privileged framework APIs •Can integrate, extend, and replace existing components

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

• • •

13 Feb 2008: m5-rc15 SDK released

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 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

An Introduction to Android

Internet and Mobile Phone Users, Worldwide. Internet users (PC-based) ... System. Content. Providers. Resource. Manager. GTalk Service. Location. Manager.

6MB Sizes 0 Downloads 132 Views

Recommend Documents

An Introduction to Android for Developers
ContentProviders. • Enable data sharing across applications. • Provide uniform APIs to: • query data (returns a Cursor). • delete, update, and insert rows. • Hide underlying implementation. • Work across processes ...

An Introduction to Digital Philosophy
DP is based on two concepts: bits, like the binary digits in a computer, correspond to the most .... DP predicts angular isotropy above the scale of quantization and predicts why the laws of physics are independent of the choice of ..... computer num

An Introduction to Digital Philosophy
modeling processes in the physical sciences?” “In physics ... look elsewhere with respect to the most fundamental models of physical processes. What we must ... models. Thus the unit of state is the bit, which is considerably simpler than a real

An introduction to probability theory
Feb 19, 2004 - We can do this by an electronic thermometer which consists of a ... calibration of the thermometer might not be correct, the quality of the power-.

An Introduction to BigQuery - GitHub
The ISB-CGC platform includes an interactive Web App, over a Petabyte of TCGA data in Google Genomics and Cloud Storage, and tutorials and code ...

An Introduction to Neighborhood Watch
It is one of the largest such programs in the country and has received national and international recognition. An Introduction to. Neighborhood Watch. Introduction. FAIRFAX .... observing suspicious activities, walking patrols are to contact the poli

Embedded Programming with Android Bringing Up an Android System ...
Try one of the apps below to open or edit this item. Embedded Programming with Android Bringing Up an Android System from Scratch - Roger Ye.pdf.

pdf-1856\an-introduction-to-atmospheric-thermodynamics.pdf ...
There was a problem previewing this document. Retrying... Download. Connect more apps... Try one of the apps below to open or edit this item.

An Introduction to Property Testing
What if we only want a check that rejects any x such that ~P(x), with probability > 2/3? Can we do better? ... Can we do better? Intuitively, we must expect to look at 'almost all' input bits if we hope to reject x that are only one bit ..... study o

Python Programming : An Introduction to Computer Science
The translation process highlights another advantage that high-level languages have over ma- chine language: portability. The machine language of a computer is created by the designers of the particular CPU. Each kind of computer has its own machine

Introduction to Credit Risk Modeling, An
most grateful. Disclaimer. This book reflects the personal view of the authors and not the opin- ion of HypoVereinsbank, Deutsche Bank, or Allianz. The contents of the book has been written for educational purposes and is neither an of- fering for bu

An Introduction To MEDUSA
Jun 13, 2012 - http://www.webpages.uidaho.edu/~lukeh/software/index.html. Wednesday, 13 June, 12 ..... Time-slice(s) through the tree. • May be appropriate ...

An introduction to learning technologies -
Cubeez - http://www.cubeez.com/container_movie.php. The teacher guides students through an interactive story. Click on the orange character on the home ...Missing:

An Introduction to Genetic Algorithms
INTERNET MAILING LISTS, WORLD WIDE WEB SITES, AND NEWS GROUPS .... acid sequence at a time it would be much faster to evaluate many simultaneously. ..... following deal: If she confesses and agrees to testify against Bob, she will ...

An Introduction to Bioinformatics Algorithms
MIT Press books may be purchased at special quantity discounts for business or sales promotional ...... technique. Suppose that instead of answering the phone you decide to play the “Rocks” ...... have a computer terminal on his or her desk.