36
Something about Android [email protected] 2009-12

Android

  • Upload
    aleung

  • View
    1.390

  • Download
    0

Embed Size (px)

DESCRIPTION

Android introduction

Citation preview

Page 1: Android

Something about Android

[email protected]

2009-12

Page 2: Android
Page 3: Android

Overview

Cool Application

Internal

Application development

Others

Page 4: Android

What’s Android

Android is a software stack for mobile devices that

includes an operating system, middleware and key

applications

Page 5: Android

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

Page 6: Android

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

Page 7: Android

Typical Hardware Spec

Touch screen (480x320, QVGA, WVGA)

Video/still camera

GPS

Accelerometer

Magnetometer

Enable the User Experience

Page 8: Android

Overview

Cool Application

Internal

Application development

Others

Page 9: Android

Cool Application

Location Based

Map + GPS + POI

Google MapsPlace Directory

Page 10: Android

Cool Application

Augmented Reality

Wikitude World Browser Google Sky Map

Page 11: Android

Cool Application

Augmented Reality

Page 12: Android

Cool Application

Audio & Image Search

Page 13: Android

Cool Application

Use Pictures to Search the Web

Page 14: Android

Overview

Cool Application

Internal

Application development

Others

Page 15: Android

DNA of Android

Built on the Linux kernel

Uses the Dalvik virtual machine

Core and 3rd party applications have equal access

Page 16: Android

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

Page 17: Android

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

Page 18: Android

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

Page 19: Android

Custom ROM

JesusFreke’s ROM

Haykuro Rogers ROM (神童)

Chinese: GeesunMod

Page 20: Android

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?

Page 21: Android

Overview

Cool Application

Internal

Application development

Others

Page 22: Android

Development Environment

SDK = libraries + tools + emulator + doc

SDK add-on: Google Maps API

Development Environment

Eclipse + ADT plugin

Tools + Ant

Page 23: Android

Build Process & Artifacts

Page 24: Android

Android Application Fundamentals

Fundamentals

Activity

Service

Broadcast receiver

Content provider

Intent

intent intent

Music play service

Running in background

Page 25: Android

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

Page 26: Android

User Interface

View & ViewGroup

XML layout file

Create object in code

Page 27: Android

API

Android Specified

System

UI

SQLite

JDK

HttpClient

JSON

XML

Add-on

Google Map API

Page 28: Android

Publish Your Application

Page 29: Android

After Published

Mobile Advertising

for Mobile Application

Flurry.com

Mobile application analytics

Page 30: Android

Overview

Cool Application

Internal

Application development

Others

Page 31: Android

山寨

Page 32: Android

Vendor Customization

Android

(Open Source)

Applications(Gmail, Calendar, Market etc)

Other bundle

applications

Applications

Replace UI

HTC SenseSonyEricsson Rachael

Motorola Blur

Google Account

Page 33: Android

OMS (OPhone)

Page 34: Android

OMS (OPhone)

Android

(Open Source)

Applications(Gmail, Calendar, Market etc)

Applications

Replace UI

Google AccountApplications

JIL Widget

Page 35: Android

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

Page 36: Android