01 03 - introduction to android

34
Introduction Android Platform

Upload: siva-reddy

Post on 28-Jan-2015

109 views

Category:

Technology


0 download

DESCRIPTION

introduction to android

TRANSCRIPT

Page 1: 01  03 - introduction to android

Introduction Android Platform

Page 2: 01  03 - introduction to android

Agenda

What Is Android?

What's Special about Android OS

What are the different Flavors of Android OS

What is Meant by an Open Source and how Android fits in to this Part

Contrasting and comparing Open Source Vs Traditional Development

Players behind the development of Android OS(OHA Group)

Advantages of Android and How Android can benefit you

Different Operating Systems that Support Android Application Development

Android architecture

Android application model

Page 3: 01  03 - introduction to android

What is open Source?

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

Developer

Don not need permission to ship an application

No hidden or privileged framework APIs

Can integrate, extend and replace existing components

Users

Users have control of their experience

They control what gets installed

They choose the defaults

Page 4: 01  03 - introduction to android

@2011 Mihail L. Sichitiu4

What is Android?

An automaton that resembles a

human being

Android is a software stack for

mobile devices that includes an

operating system, middleware and

key applications.

Page 5: 01  03 - introduction to android

Introduction to Android

Android is an open-source software platform

created by Google and the Open Handset Alliance.

It is primarily used to power mobile phones.

Powered by Linux operating system.

Fast application development in Java.

Open source under the Apache license

It has the capability to make inroads in many other

(non-phone) embedded application markets.

Page 6: 01  03 - introduction to android

Why Android

“We created Android in response to our own

experiences launching mobile apps. We wanted

to make sure that there was no central point

of failure, so that no industry player can

restrict or control the innovations of any

other. That's why we created Android, and

made its source code open.”

- Google -

Page 7: 01  03 - introduction to android

Android Open Source Project (AOSP)

The goal of the Android Open Source Project is to create a

successful real-world product that improves the mobile experience

for end users.

To get and compile Android source code:

http://source.android.com/source/initializing.html

Page 8: 01  03 - introduction to android

Features

Application framework enabling reuse and replacement of components

Dalvik virtual machine optimized for mobile devices

Integrated browser based on the open source Web Kit engine

Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional)

SQLite for structured data storage

Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)

GSM Telephony (hardware dependent)

Bluetooth, EDGE, 3G, and Wi-Fi (hardware dependent)

Camera, GPS, compass, and accelerometer (hardware dependent)

Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plug-in for the Eclipse IDE

Page 9: 01  03 - introduction to android

Open Handset Alliance

Page 10: 01  03 - introduction to android

History of Android

2001 search service for wireless device

2005

• –Acquire Android(Andy Rubin: Danger CEO, Development Sidekick of T-Mobile)

• –Acquire Skia(2D Graphics for mobile device)

• –Acquire Reg Wireless (Browser and Email for mobile device)

• –Move Engineers from PlamSource(Dianne Hackborn, etc…)2007 Nov 5: Android announced

2007 Nov 12: Android SDK released by OHA

2007 Dec 14: Bug-fix SDK released2008 Jan 3: Android Developer Challenge I starts accepting submissions2008 Feb 13: m5-rc15 SDK released

2008 Apr 14: 1788 total submissions for Challenge I

2008 May 12: Top 50 Applications in Challenge I announced

2008 Nov: Android Phone(G1 Phone by HTC/T-mobile)

2008 Nov: Full Source Open

2009 Apr: HTC Magic

2009 July: HTC Hero, Samsung i7500, Android Netbook, Set-top……

2009 Aug: Android Developer Challenge II

Page 11: 01  03 - introduction to android

@2011 Mihail L. Sichitiu11

Phones

HTC G1,

Droid,

TattooMotorola Droid (X)

Suno S880 Sony Ericsson

Page 12: 01  03 - introduction to android

Tablets

Velocity Micro Cruz Gome FlyTouch Acer beTouch

Dawa D7Toshiba Android

SmartBook

Cisco Android Tablet

Page 14: 01  03 - introduction to android

Android Versions and releases

OS Ver Nickname API Level Date

1.1 __ 2 9th February 2009

1.5 Cupcake 3 30 April 2009

1.6 Donut 4 5 September 2009

2.1 Eclair 7 26 October 2009

2.2 Froyo 8 20 May 2010

2.3 Gingerbread 9 6th December 2010

3.0 Honeycomb 11 22nd February 2011

4.0x Icecream Sandwich 14 19th October 2011

4.1 Jelly Bean 16 July 9, 2012

Page 15: 01  03 - introduction to android

Android 1.1 Bender Android 1.5 Cupcake

Page 16: 01  03 - introduction to android

Android 1.6 DonutAndroid 2.0 ve 2.1

Eclair

Page 17: 01  03 - introduction to android

Android 2.2 FroyoAndroid 2.3 Gingerbread

Page 18: 01  03 - introduction to android

Android 3.0 Honeycomb

Page 19: 01  03 - introduction to android

Android 4.0 Ice Cream Sandwich

Page 20: 01  03 - introduction to android

The Linux Kernel in Android

• Android is based on the Linux kernel

• Android is not Linux

• No native windowing system

• Does not include full set of standard linux utilities

• Kernel source at http://git.android.com

Page 21: 01  03 - introduction to android

Why Linux kernel for Android ?

Great memory and process management

Great permissions based security model

Proven driver model

Support for shared libraries

It’s already open source

Page 22: 01  03 - introduction to android

Android Architecture

Page 23: 01  03 - introduction to android

Linux Kernel

• Android relies on Linux version 2.6 for core system

services such as device drivers, security, memory

management ,process management.

• The kernel also acts as an abstraction layer between the

hardware and the rest of the software stack.

Page 24: 01  03 - introduction to android

• Includes a set of C/C++ libraries.

• Interface through Java.

• Surface manager – Handling UI

Windows.

• 2D and 3D graphics.

• Media codecs, SQLite, Browser engine.

Page 25: 01  03 - introduction to android

• Dalvik VM (translator between the application side and

the operating system)

– Dex files (.dex)format

– Compact and efficient than class files

– Limited memory and battery power

• Core Libraries

– Java 5 Std edition

– Collections, I/O etc…

2

5

Page 26: 01  03 - introduction to android

Application Framework

Framework elements are: Intents , Content Providers ,

Views and managers

This layer has been designed to facilitate the reuse of

components in android

Developers can build their applications to execute on

android kernel and inter-operate among themselves and

with existing applications

Page 27: 01  03 - introduction to android

Applications

• Android will ship with a set of core applications including an

a)Email client,

b)SMS program,

c)Calendar,

d)Contacts & others….

• All the applications are written using the Java programming

language.

Page 28: 01  03 - introduction to android

Write app in Java

Compiled in Java

Transformed to Dalvik byte code

Linux OS

Loaded into Dalvik VM

Android applications are compiled to Dalvik

byte code

Page 29: 01  03 - introduction to android

Android SDK

v ADT: Android Development Tool, an Eclipe plugin

v Two debuggers

§ adb: Android Debug Bridge

§ ddms: Dalvik Debug Monitor Server

v aapk: Android Application package tool

§ All resources are bundled into an archive, called apk file.

v dx: java byte code to Dalvik executable translator

Page 30: 01  03 - introduction to android

Android applications have common structure

30

Views such as

lists, grids, text

boxes, buttons,

and even an

embeddable web

browser

Content

Providers that

enable

applications to

access data from

other applications

(such as

Contacts), or to

share their own

data

A Resource Manager,

providing access to

non-code resources

such as localized

strings, graphics, and

layout files

A Notification

Manager that enables

all apps to display

custom alerts in the

status bar

An Activity Manager

that manages the life

cycle of applications and

provides a common

navigation backstack

Page 31: 01  03 - introduction to android

Android applications have common structure

Broadcast receivers

can trigger intents

that start an

application

Data storage

provide data for your

apps, and can be

shared between

apps – database,

file, and shared

preferences (hash

map) used by group

of applications

Services run in the

background and

have no UI for the

user – they will

update data, and

trigger events

Intents specify what

specific action should

be performed

Activity is the

presentation layer of

your app: there will be

one per screen, and the

Views provide the UI to

the activity

Page 32: 01  03 - introduction to android

There is a common file structure for applications

code

images

files

UI layouts

constants

Autogenerate

d resource

list

Page 33: 01  03 - introduction to android

Building blocks

Page 34: 01  03 - introduction to android

Questions?