21
1 Android Introduction Platform Overview

1 Android Introduction Platform Overview. 2 What is Android? Android is a software stack for mobile devices that includes an operating system, middleware

Embed Size (px)

Citation preview

1

Android Introduction

Platform Overview

2

What is Android?

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

3

OHA (Open Handset Alliance)Android was developed by Google & OHA.OHA: Business alliance consisting of about 84 companies

to develop open standards for mobile devices

4

Features of AndroidOpen SourceRuns on all deployed cellular standards like GSM,CDMA.Provide support for multiple Languages.Attractive & flexible UI.Secure than other operating systems. Improved Performance.

5

Android Architecture Layered Architecture. Each layer is a group of several programs. Includes Operating system, Middleware, Application

Programs. Each layer provide different services to layer above it.

6

Architecture

7

Application Layer

Android provides a set of core applications: Email Client SMS Program Calendar Maps Browser Contacts Etc

All applications are written using the Java language. Developer can write an application & introduce it in existing

system.

8

Application Framework

Provides tools for development of Android Applications.

Activity Manager: manages activity lifecycle of application.

Content Provider: manages data sharing among applications.

Telephony Manager: manages all voice calls Location Manager: Location update using GPS or cell

tower. Resource Manager: manages various types of

resources we use in our application.

9

Libraries

Including a set of libraries used by components of the Android system.

Written in C/C++ language. SQLite: Database engine used in android for data

storage purpose. WebKit: Browser engine to display HTML contents. Media Framework: allows recording & playback of media

files. Surface Manager: Off Screen Buffering. OpenGL: Render 2D or 3D graphics to the screen

10

Android Runtime

Core Libraries: Provides most of the functionality available in the core libraries of the Java language.

Dalvik Virtual Machine: Open Source s/w by google. It’s actually a type of JVM used in android devices to

run applications. It is optimized for low processing power & low memory

environment. Multiple instances of Dalvik VM are created for higher

efficiency.

11

Life Cycle of Android application

Android application starts its life as Java Source code. Compiled by Javac to byte code (.class files). Byte code is input to Android SDK. The dx tool available in the SDK converts Java

bytcode to DVM bytcode at build time The dx format is a highly efficient and compact

bytecode Android SDK converts it to .dex files, which run on

Dalvik Vm. .dex files can not run on JVM.

.dex files + resource files + class files = .apk file It’s actual Android application package ready to be

installed on android devices.

12

Life Cycle of Android application

13

Android S/W Stack – Linux Kernel

• Provides an interface between the H/W and the rest of the S/W stack.

• Interact with H/W and contains all h/w drivers.• Whole Android OS is built on top of the Linux 2.6 Kernel with

some changes made by google.• Provides following services

Memory and Process Management Networking Drivers Security

14

Wireless Application Protocol

• WAP is a technical standard for accessing information over mobile wireless network.

• It is wireless equivalent to internet protocol stack TCP/IP.• WAP architecture has three components.

• A WAP browser is a micro web browser for handheld devices.• They are designed to run within the constraints of memory &

bandwidth of device.• Wireless Markup Language, WML is used to design such simple

pages.• Gateway Feature of WAP allows transmission of data from

wireless to wired world.

WAP browser

WAP Gateway

WWW Server

WAP uses WTLS(Wireless Transport Layer Security) and SSL/TLS(secure socket layer or transport layer security),to secure communication between the mobile phones and other parts of the WAP architecture.

15

WAP Architecture

16

Application Layer (Wireless Application Environment/WAE)

Other services and applications

Session Layer(Wireless Session Protocol/WSP)

Transaction Layer(Wireless Transaction Protocol/WTP)

Security Layer(Wireless Transport Layer Security/WTLS)

Transport Layer(WDP)Datagram

Wireless BearersGSM,CDMA,PHS,CDPD,PDC-P,FLEX,IS-136 etc

Comparison Of Android With three other Popular Mobile OS

17

Mobile OS Ios Android Black Berry Symbian

Company Apple OHA and Google

RIM Symbian Foundation

Latest Version

6.0 4.2 Jelly Bean

7.1 Nokia Belle

CPU Architecture Type

ARM ARM,Power MIPS,x86

ARM ARM

PL used to write the OS

C,C++,Objective C

C,C++,Java Java C++

Licensing Proprietary Open Source Proprietary Eclipse Public license

Multiuser? No In Jelly Bean No No

18

Android Development Tools

1. Android Software Development Kit

•Contains the necessary tools to create, compile and

package Android application. Most of these tools are

command line based.

•Also provides an Android device emulator, so that Android

applications can be tested without a real Android phone.

•You can create Android virtual devices (AVD) via the

Android SDK, which run in this emulator.

•Contains the Android debug bridge (adb) tool which

allows to connect to an virtual or real Android device.

19

Android Development Tools

2. Android Development Tools

•Google has provided ADT to develop Android applications

with Eclipse.

•ADT is a set of components (plug-ins) which extend the

Eclipse IDE with Android development capabilities.

•ADT contains all required functionalities to create,

compile, debug and deploy Android applications from the

Eclipse IDE.

20

Android Development Tools

• Includes AVD, Android virtual device manager. Which

helps to create an emulator. This emulator behaves like a

real Android device (in most cases) and allows you to test

your application without having a real device.

3. Dalvik Virtual Machine

•The Android system uses a special virtual machine, i.e.

the Dalvik Virtual Machine to run Java based applications.

• Dalvik uses an own bytecode format which is different,

more compact from Java bytecode.

21

Standalone ADT installation

1. Download

Google provides a pre-packaged and configured Eclipse

based Android development environment. The following

link allows to download a archive file which includes all

required tools for Android development.

http://developer.android.com/sdk/index.html

2. Extract & start

Extract the zip file and start Eclipse from the eclipse folder

via the eclipse native launcher, e.g. eclipse.exe under

Windows.