You are on page 1of 21

Android Introduction

Platform Overview

By: Akansha Kalra & Deepti Dhiman


1

Why Mobile App Development?

Mobile platform is the platform of the future

Double-digit growth in world-wide smartphone ownership3


Market for mobile software surges from $4.1 billion in 2009 to $17.5 billion by 20121 2010 Dice.com survey: 72% of recruiters looking for iPhone app developers, 60% for Android1 Dice.com: mobile app developers made $85,000 in 2010 and salaries expected to rise2

Job market is hot


What is Android?

Android is a software stack for mobile devices that includes an operating system, middleware and key applications.

What is Android?

Uses Linux to provide core system services


Security Memory management Process management Power management Hardware drivers

OHA (Open Handset Alliance)


A

business alliance consisting of 47 companies to develop open standards for mobile devices

Phones

HTC G1, Droid, Tattoo

Motorola Droid (X)

Suno S880

Samsung Galaxy

Sony Ericsson
6

Tablets

Velocity Micro Cruz

Gome FlyTouch

Acer beTouch

Dawa D7

Toshiba Android SmartBook

Cisco Android Tablet


7

Features
Application framework enabling reuse and replacement of components Dalvik virtual machine optimized for mobile device Integrated browser based on the open source WebKit 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 WiFi (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 plugin for the Eclipse IDE

Architecture

Android S/W Stack - Application


Android provides a set of core applications:

Email Client SMS Program Calendar Maps Browser Contacts Etc

All applications are written using the Java language.


10

Android S/W Stack App Framework

Enabling

and simplifying the reuse of components


Developers have full access to the same framework APIs used by the core applications. Users are allowed to replace components.

11

Android S/W Stack App Framework (Cont)


Features
Feature View System Content Provider Resource Manager Notification Manager Activity Manager Role Used to build an application, including lists, grids, text boxes, buttons, and embedded web browser Enabling applications to access data from other applications or to share their own data Providing access to non-code resources (localized strings, graphics, and layout files) Enabling all applications to display customer alerts in the status bar Managing the lifecycle of applications and providing a common navigation backstack

12

Android S/W Stack - Libraries

Including

a set of C/C++ libraries used by components of the Android system Exposed to developers through the Android application framework

13

Android S/W Stack - Libraries


Library Role
A BSD-derived implementation of the standard C system library (libc), tuned for embedded Linux-based devices Based on PacketVideo's OpenCORE; the libraries support playback and recording of many popular audio and video formats, as well as static image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG browser and an embeddable web view The underlying 2D graphics engine A powerful and lightweight relational database engine available to all applications

System C library Media Libraries

LibWebCore A modern web browser engine which powers both the Android SGL SQLite

14

Android S/W Stack - Runtime

Core Libraries

Providing most of the functionality available in the core libraries of the Java language APIs

Data Structures Utilities File Access Network Access Graphics Etc

15

Android S/W Stack Runtime (Cont)

Dalvik Virtual Machine

Providing environment on which every Android application runs

Each Android application runs in its own process, with its own instance of the Dalvik VM. Dalvik has been written such that a device can run multiple VMs efficiently.

Register-based virtual machine

16

Android S/W Stack Runtime (Cont)

Dalvik Virtual Machine (Cont)

Executing the Dalvik Executable (.dex) format

.dex format is optimized for minimal memory footprint. Compilation

Relying on the Linux Kernel for:


Threading Low-level memory management


17

Android S/W Stack Linux Kernel

Relying on Linux Kernel 2.6 for core system services


Memory and Process Management Network Stack Driver Model Security

Providing an abstraction layer between the H/W and the rest of the S/W stack
18

Limitations
Bluetooth limitations o Android doesn't support: Bluetooth stereo Contacts exchange Modem pairing Wireless keyboards
But it'll work with Bluetooth headsets, but that's about it Firefox Mobile isn't coming to Android Apps in Android Market need to be programmed with a custom form of Java Mozilla and the Fennec won't have that

19

Future

20

Queries??

Please refer www.google.com :-P

21

You might also like