Android

Preview:

DESCRIPTION

Android introduction

Citation preview

Something about Android

Leo.liang@gmail.com

2009-12

Overview

Cool Application

Internal

Application development

Others

What’s Android

Android is a software stack for mobile devices that

includes an operating system, middleware and key

applications

History

2003, Startup Android Inc.

Aug 2005, Google Buys Android

Nov 2007, Open Handset Alliance

Nov 2007, First SDK

Apr 2008, ADC

Oct 2008, First device: T-Mobile G1

Oct 2008, Open source

Roadmap

1.0 1.1 1.5

Cupcake

1.6

Donut

2.0

Eclair

2.1

Flan

HTC

Dream (G1)

HTC

Magic

HTC

Hero

Motorola

Droid

HTC

Tattoo

SonyEricsson

Xepria X10

Typical Hardware Spec

Touch screen (480x320, QVGA, WVGA)

Video/still camera

GPS

Accelerometer

Magnetometer

Enable the User Experience

Overview

Cool Application

Internal

Application development

Others

Cool Application

Location Based

Map + GPS + POI

Google MapsPlace Directory

Cool Application

Augmented Reality

Wikitude World Browser Google Sky Map

Cool Application

Augmented Reality

Cool Application

Audio & Image Search

Cool Application

Use Pictures to Search the Web

Overview

Cool Application

Internal

Application development

Others

DNA of Android

Built on the Linux kernel

Uses the Dalvik virtual machine

Core and 3rd party applications have equal access

Process

One Linux process per application

Application runs in Dalvik VM

Application head limit: 16MB

Auto GC

Multi-thread supported

DalvikVM

Application A

DalvikVM

Application B

Linux process Linux process

Process Lifecycle

Android is a multitasking system

But you can only start an application, can’t stop an application

System will automatically kill processes to conserve memory on necessary

Activity can save state on destroy and restore state on restart to keep seamless user experience

Where is

the close

button?

Last activated applications

Some of them might have been killed

SPLRecovery

Image

File System

Fla

sh M

em

ory

/dev /system /data /cache …

OTA upgradeApps

Memory

SPL: secondary program loader (boot loader)

Swapext2 / ext3

(app2sd)FAT / FAT32

SD c

ard

Baseband

used

GPU

usedLinux memory

RA

M

Custom ROM

JesusFreke’s ROM

Haykuro Rogers ROM (神童)

Chinese: GeesunMod

Root

Linux OS root user privilege

Why to root?

Full control over your system

Ability to alter system files.

Run special apps that need more control over the system

App2sd

……

How to root?

Overview

Cool Application

Internal

Application development

Others

Development Environment

SDK = libraries + tools + emulator + doc

SDK add-on: Google Maps API

Development Environment

Eclipse + ADT plugin

Tools + Ant

Build Process & Artifacts

Android Application Fundamentals

Fundamentals

Activity

Service

Broadcast receiver

Content provider

Intent

intent intent

Music play service

Running in background

Activities & Tasks

Task: a stack of activities

A task can contain

activities from different

applications

Back button navigates

backward in the stack

All the activities in a

task move together as a

unit

Task Task

User Interface

View & ViewGroup

XML layout file

Create object in code

API

Android Specified

System

UI

SQLite

JDK

HttpClient

JSON

XML

Add-on

Google Map API

Publish Your Application

After Published

Mobile Advertising

for Mobile Application

Flurry.com

Mobile application analytics

Overview

Cool Application

Internal

Application development

Others

山寨

Vendor Customization

Android

(Open Source)

Applications(Gmail, Calendar, Market etc)

Other bundle

applications

Applications

Replace UI

HTC SenseSonyEricsson Rachael

Motorola Blur

Google Account

OMS (OPhone)

OMS (OPhone)

Android

(Open Source)

Applications(Gmail, Calendar, Market etc)

Applications

Replace UI

Google AccountApplications

JIL Widget

GFW

Android mobile is Internet mobile

Google services

Application as front-end, web service back-end

Cloud computing

DNS pollution:

android.clients.google.com

VPN support in Android

Recommended