1 android introduction platform overview. 2 what is android? android is a software stack for mobile...
TRANSCRIPT
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.
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.