Top Banner
1 Android Introduction Platform Overview
21

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

Dec 25, 2015

Download

Documents

Baldwin Ball
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: 1 Android Introduction Platform Overview. 2 What is Android?  Android is a software stack for mobile devices that includes an operating system, middleware.

1

Android Introduction

Platform Overview

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

2

What is Android?

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

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

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

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

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.

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

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.

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

6

Architecture

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

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.

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

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.

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

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

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

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.

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

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.

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

.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

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

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

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

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

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

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

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

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

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

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

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

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.

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

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.

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

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.

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

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.