44
Android Platform Adesh Bora T.E.I.T Roll No.-10 Guide Prof. Pawar Mam Downloaded from FaaDoOEngineers.com

Android Platform PPT

Embed Size (px)

Citation preview

Page 1: Android Platform PPT

Android Platform

Adesh Bora

T.E.I.T

Roll No.-10

Guide

Prof. Pawar Mam

Downloaded from FaaDoOEngineers.com

Page 2: Android Platform PPT

Downloaded from FaaDoOEngineers.com

1. Introduction

2. Platform

3. Software development

4. Overall evaluation

Main topics

Page 3: Android Platform PPT

Downloaded from FaaDoOEngineers.com

Smart phone OS

Symbian

Windows Mobile

RIM Blackberry OS

Apple iOS

Google Android

Palm WebOS

Windows Phone 7

Page 4: Android Platform PPT

Downloaded from FaaDoOEngineers.com

Android

Software platform developed by Google for mobile phone Free of charge

Open source (Apache License except for kernel)

Packaging OS to upper layer applications such as browser

It is said that handset using Android will be released in 21st oct 2008

Page 5: Android Platform PPT

Downloaded from FaaDoOEngineers.com

Android OS

Fastest growing mobile OS

First phone launched HTC G1 in 2008

Currently an OS of choice for Motorola,

HTC, Samsung, Sony Ericsson, among

others

Software updates every few months

Page 6: Android Platform PPT

Downloaded from FaaDoOEngineers.com

What is Android?

A complete software stack for mobile devices.. Introducing Android

A first joined project off the Open Handset Alliance (OHA)..

First open, complete and free platform

Software stack open-sourced under Apache 2..0 license

Source code will be available and everyone will have the capability to built an image

The Android platform

It includes an operating system,, a middleware and some applications..

Lightweight and full featured

Developers can extend and replace existing components

A generous development environment

A SDK is available to build, compile, test and debug user applications..

Applications are developed using Java programming language

No difference between the built-in applications and the user ones

Page 7: Android Platform PPT

Downloaded from FaaDoOEngineers.com

The Android platform

Linux Kernel

Native Libraries

Android Runtime

Applicatiion Framework…

Anatomy of an Android application

Creating and deploying an application

Page 8: Android Platform PPT

Downloaded from FaaDoOEngineers.com

Why Android ?

Full phone software stack including applications

Designed as a platform for software development

Android is open

Android is free

Community support

Tool support

100% Java Phone

Page 9: Android Platform PPT

Downloaded from FaaDoOEngineers.com

Android – what is it?

software stack for mobile devices

incl. OS, middleware and key applications

Open source – source code is open and

contributions are welcome

application framework enabling

reuse/replacement of apps

integrated browser based on webkit

Page 10: Android Platform PPT

Downloaded from FaaDoOEngineers.com

Android – what is it?

Optimized graphics – 2D graphics library, 3D

based on OPEN GL ES

Media support (MPEG4, H.264, MP3, AAC,

JPG, PNG,…)

Support for radio interfaces, Bluetooth, WiFi,

Camera, GPS, accelerometer

Software Development Kit (SDK)

Preinstalled applications from Google (GMS)

Gmail, Maps, Search, Voice Search, Youtube

Page 11: Android Platform PPT

Downloaded from FaaDoOEngineers.com

Software Stack

Linux kernel

Libraries

Android run time

core libraries

Dalvik virtual machine

application layer

application protocol

Page 12: Android Platform PPT

Downloaded from FaaDoOEngineers.com

Android GUI

Java 1.5 support

GUI is fully written in Java

but it is not AWT / Swing

and neither J2ME LCDUI

Widget toolkit

XML based GUI

(Touch) screen

Might have a keyboard

Page 13: Android Platform PPT

Downloaded from FaaDoOEngineers.com Bruce Scharlau, University of Aberdeen, 2010

Android applications are

compiled to Dalvik bytecode

Write app in Java

Compiled in Java

Transformed to Dalvik bytecode

Linux OS

Loaded into Dalvik VM

Page 14: Android Platform PPT

Downloaded from FaaDoOEngineers.com Bruce Scharlau, University of Aberdeen, 2010

The Dalvik runtime is optimised

for mobile applications

Run multiple VMs

efficiently

Each app has its own VM

Minimal memory footprint

Page 15: Android Platform PPT

Downloaded from FaaDoOEngineers.com

Android Architecture

Page 16: Android Platform PPT

Downloaded from FaaDoOEngineers.com

Linux Kernel

• Works as a HAL

• Device drivers

• Memory management

• Process management

• Networking

Page 17: Android Platform PPT

Downloaded from FaaDoOEngineers.com

Libraries

• C/C++ libraries

• Interface through Java

• Surface manager – Handling UI Windows

• 2D and 3D graphics

• Media codecs, SQLite, Browser engine

Page 18: Android Platform PPT

Downloaded from FaaDoOEngineers.com

Android Runtime

• Dalvik VM

– Dex files

– Compact and efficient than class files

– Limited memory and battery power

• Core Libraries

– Java 5 Std edition

– Collections, I/O etc…

Page 19: Android Platform PPT

Downloaded from FaaDoOEngineers.com

Application Framework

• API interface

• Activity manager – manages application

life cycle.

Page 20: Android Platform PPT

Downloaded from FaaDoOEngineers.com

Applications

• Built in and user apps

• Can replace built in apps

Page 21: Android Platform PPT

Downloaded from FaaDoOEngineers.com

Application Framework

Rich, extensible set of Views apps can inclused lists, grids, text boxes, buttons,

web browser

Content Providers allows data access from other applications or share

own data

Resource Manager access to localized strings, graphics, layout files

Notification Manager enables custom alerts to be displayed in status bar

Activity Manager Manages lifecycle of applications and provides

navigation backstack

Page 22: Android Platform PPT

Downloaded from FaaDoOEngineers.com Bruce Scharlau, University of Aberdeen, 2010

There is a common file structure

for applications

code

images

files

UI layouts

constants

Autogenerated

resource list

Page 23: Android Platform PPT

Downloaded from FaaDoOEngineers.com Bruce Scharlau, University of Aberdeen, 2010

Standard components form building blocks for Android apps

Other applications

Has life-cycle

screen

App to handle content

Background app

Like music player

Views

manifest

Activity

Intents

Service

Notifications

ContentProviders

Page 24: Android Platform PPT

Downloaded from FaaDoOEngineers.com Bruce Scharlau, University of Aberdeen, 2010

Android applications have

common structure 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 25: Android Platform PPT

Downloaded from FaaDoOEngineers.com Bruce Scharlau, University of Aberdeen, 2010

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 26: Android Platform PPT

Downloaded from FaaDoOEngineers.com

Application Fundamentals

Activities application presentation layer

Services invisible components, update data sources, visible activities, trigger notifications

perform regular processing even when app is not active or invisible

Content Providers shareable data store

Intents message passing framework

broadcase messages system wide, for an action to be performed

Broadcast receivers consume intent broadcasts

lets app listen for intents matching a specific criteria like location

Notifications Toast notification

Status Bar Notification

Dialog notification

Page 27: Android Platform PPT

Downloaded from FaaDoOEngineers.com

Page 28: Android Platform PPT

Downloaded from FaaDoOEngineers.com

Applications

All apps (native and 3rd party) are written using

the same APIs and run on the same run time

executable

All apps have APIs for hardware access,

location-based services, support for

background services, map-based activities, 2D

and 3D graphics.

App Widgets are miniature app views that can

be embedded in other apps like Home Screen

Page 29: Android Platform PPT

Downloaded from FaaDoOEngineers.com

App Priority and Processes

Android apps do not have control over their own life cycles

Aggressively manages resources to ensure device responsiveness and kills process/apps when needed

Active Process – critical priority

Visible Process – high priority

Started Service Process

Background Process – low priority

Empty process

Page 30: Android Platform PPT

Downloaded from FaaDoOEngineers.com

Client apps

Developed using the Android SDK and installed on user devices

Compiled Java code, with data and resource – bundled by Android Asset Packaging tool (AAPT) into Android package or .apk

All applications have Android Manifest file in its root directory provides essential information about app

Could be installed directly on phone, but necessary to be distributed thru Market

Page 31: Android Platform PPT

Downloaded from FaaDoOEngineers.com

Web Apps

An alternative to standalone apps

Developed using web standards and

accessed through browser – nothing to

install on devices

Mixing client and web apps is also

possible – Client apps can embed web

pages using “Webview” in Android app

Page 32: Android Platform PPT

Downloaded from FaaDoOEngineers.com

SDK

Android APIs, Full Documentation and Sample code

Development tools Dalvik Debug Monitor Service (DDMS)

Android Debug Bridge (ADB)

Android Emulator

Online support and blog

Native Development Kit also available allows developers to implement parts of apps in native-

code languages like C/C++

Plug in available to use Eclipse integrated development environment

Developer forums and developer phones from Google, MOTO Dev studio from Motorola

Page 33: Android Platform PPT

Downloaded from FaaDoOEngineers.com

Android Market

Google Market - Part of GMS apps

3rd party apps submitted to Google, approved and distributed through Market

Both Free and Paid apps

Apps now limited to 50 MB; updates possible through Market

Monetization through ads available

Available in many countries, not all countries have support for paid apps

Other Market place applications available – Amazon has announced its own Android Market place

App searches filtered based on Manifest file (eg. if a device does not have trackball, apps using trackball will be filtered out)

Every app publishes a list of components the app will access and permissions need to be granted before installation

Apps installed on device and SD card (SD Card from Froyo)

Page 34: Android Platform PPT

Downloaded from FaaDoOEngineers.com

Search

Core feature in android

User should be able to search any data on device or internet

Usually one of the android buttons

Search suggestions based on recent queries

Provide custom search suggestions that match actual results in application data

system side Quick Search Box

Voice Search available and enhanced in recent releases

Page 35: Android Platform PPT

Downloaded from FaaDoOEngineers.com

Locations & Maps

Compelling and most popular apps for mobile devices

Google Maps provides free navigation

applications allowed access to location services supported by device

Google provides Maps external library

allows built-in downloading, rendering and caching of Maps tiles, and other display options and controls

Page 36: Android Platform PPT

Downloaded from FaaDoOEngineers.com

Device Administration

Froyo introduces support for enterprise

applications with Device Administraion

API

allows to create security-aware

applications to control employee devices

Apps might include

Email clients

remote wipe

device management services and apps

Page 37: Android Platform PPT

Downloaded from FaaDoOEngineers.com

Android Software Updates

Android 1.0 – G1

1.5 – Cupcake

1.6 – Donuts (CDMA support)

2.0 – Éclair (Droid introduced with Éclair)

2.2 – Froyo

2.3 Gingerbread (SDK released 2 weeks ago and source will follow soon)

API Levels used by apps to identify software version on the device

Android apps are generally forward compatible with newer version, but not necessarily backwards compatible

Page 38: Android Platform PPT

Downloaded from FaaDoOEngineers.com

Compatibility

Why? Allow customizable devices

Create Common eco system

Android compatibility is free and easy Obtain Android source code

Comply with Android Compatibility Definition (ACD) doc List requirements that need to be met for devices to be compatible with a

particular version on Android

Pass the Compatibility Test Suite (CTS) Automated test harness running on desktop, manages test exectuion

Test cases written, packaged as .apk to run on actual device or emulator

Porting guide available for bringing up Android on custom HW

Page 39: Android Platform PPT

Downloaded from FaaDoOEngineers.com

Other possibilities

Google TV - a new platform based on

Android

Tablets – Samsung Galaxy tab

introduced in Oct 2010

eBook reader – Latest Barnes and Noble

Nook is an Android tablet

Page 40: Android Platform PPT

Downloaded from FaaDoOEngineers.com

A real word example I

A translater for Android

You cannot read anything

If you are in a country where no one

understands your language

No aditional device needed

You have your mobile phone always

with you

Page 41: Android Platform PPT

Downloaded from FaaDoOEngineers.com

A real word example II

Uses the google translator

Can be extended with new languages

Adaptive GUI

Uses XMPP for data transmission

GUI fully defined in XML

Uses camera input and OCR

Page 42: Android Platform PPT

Downloaded from FaaDoOEngineers.com

Resources

http://www.android.com

http://http://androiddevelopers.blogspot.c

om

http://developer.motorola.com/

Page 43: Android Platform PPT

Downloaded from FaaDoOEngineers.com

Page 44: Android Platform PPT

Downloaded from FaaDoOEngineers.com

Thanks