AN OPEN HANDSET ALLIANCE
PROJECT
presented
by
[Link]
2
OVERVIEW
1. Open Handset Alliance
2. Introduction To Android
3. Introduction To The Platform
4. Android Architecture
5. Anatomy Of An Android Application
6. Android Building Blocks
7. Development Tools
8. Life Cycle Of An Android Application
9. Conclusion
3
Open Handset Alliance produces
Android.
It comprises handset manufacturers,
software firms, mobile operators,
Commercialization companies and
Semiconductor companies.
Android is part of the Build a better
phone process
4
Open Handset Alliance Members
5
INTRODUCTION
TO
ANDROID
WHAT IS ANDROID?
o A complete & modern embedded operating system
o A cutting-edge mobile user experience
o A world-class software stack for building
applications
o An open platform for developers, users & industry
6
Why Android Was Created?
Full phone software stack including applications
Designed as a platform for software development
Android is open
Android is free
Community support
100% Java Phone
7
HISTORY
July 2005
Google acquired Android Inc.
5 Nov 2007
Open HandSet Alliance formed-
Google, HTC, Intel, Motorola, Qualcomm, T-Mobile
Android is the OHA first product
12 Nov 2007
OHA released a preview of the Android OHA
8
INTRODUCTION
TO
THE PLATFORM : ANDROID
9
10
Cellular networking : GSM, EDGE, 3G (hardware dependent)
LAN : Bluetooth, and Wi-Fi (hardware dependent)
Graphics Hardware Acceleration
Camera, GPS and Compass (hardware dependent)
Touch screen and accelerometer for motion sensing
Integrated browser based on the open source WebKit engine
SQLite for relational data storage
Media support for common audio, video, and still image formats
(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
Dalvik Virtual Machine optimized for mobile devices
Android Features
ANDROID ARCHITECTURE
11
Enable applications access data from other applications ,sharing
Providing access to non-code resources
Enables all applications to display alerts in the status bar
Manages the lifecycle of applications
12
Application Framework
13
COMMON FILE STRUCTURE FOR
APPLICATIONS
code
images
files
UI layouts
constants
Autogenerated
resource list
Written in C/C++ - System C Library. Specially named as
Bionic (libc).
Display/Graphics called as Skia Graphics
Library (SGL)
Media Libraries
SQLite RDB engine-light weight
LibWebCore web browser engineembeddable web
view
14
Libraries
Linux Version 2.6
Security, Memory & Process Management
Proven driver model
Efficient computing resource management
Stable and proven OS for mobile platform
15
Linux Kernel
Includes a set of core libraries that provides most of the
functionality-JAVA
Every Android application runs in its own process
Dalvik VM executes files in the (.dex) format
Device can run multiple VMs efficiently
16
Android Runtime
17
ANDROID APPLICATIONS ARE COMPILED TO
DALVIK BYTE CODE
Write app in Java
Compiled in Java
Transformed to Dalvik byte code
Linux OS
Loaded into Dalvik VM
18
Anatomy of an Android Application
There are four building blocks for an Android application:
Activity
-a single screen
Intent Receiver
-to execute in reaction to an external event(Phone Ring)
Service
-code that is long-lived and runs without a UI(Media Player)
Content Provider
-an application's data to be shared with other applications
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
20
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
21
Development Tools
The Android SDK includes a variety of custom tools that help you develop
mobile applications on the Android [Link] of the most significant
tools are:
1. Android Emulator -A virtual mobile device that runs on our computer -
use to design, debug, and test our applications in an actual Android run-
time environment
2. Android Development Tools Plugin -for the Eclipse IDE - adds powerful
extensions to the Eclipse integrated environment
3. Dalvik Debug Monitor Service (DDMS) -Integrated with Dalvik -this tool
let us manage processes on an emulator and assists in debugging
22
Life Cycle of an Android Application
An unusual and fundamental feature - process's lifetime is not directly
controlled by the application itself
Deciding factors:
how important
overall memory available
To determine which processes should be killed when low on memory:
"importance hierarchy
23
Importance Hierarchy (in Order Of Importance)
Foreground Process -required for what the user is currently doing
Visible Process -holding an Activity - visible to the user on-screen but not
in the foreground (on pause)
Service Process -holding a Service - not directly visible to the user-
relevant tasks
Background Process -holding an Activity - not visible to the user - can kill
at any time (stopped)
Empty Process -doesn't hold any active application components(as a cache
to improve start-up time)
24
There are a host of advantages that Googles Android will derive from being an
open source software. Some of the advantages include:
The ability for anyone to customize the Google Android platform
The consumer will benefit from having a wide range of mobile applications to
choose from since the monopoly will be broken by Google Android
Features like weather details, opening screen, live RSS feeds and even the
icons on the opening screen will be able to be customized
As a result of many mobile phones carrying Google Android, companies will
come up with such innovative products like the location
In addition the entertainment functionalities will be taken a notch higher by
Google Android being able to offer online real time multiplayer games
Advantages
25
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
Limitations
26
ANDROID IS GROWING
Does not include iTouch or iPad, as not smartphones
Uneven distribution of OS by regions
CONCLUSION
Android is open to all: industry, developers and users
Participating in many of the successful open source
projects
Aims to be as easy to build for as the web.
Google Android is stepping into the next level of
Mobile Internet
27
THANK YOU
Queries?