ANDROID HANDHELD SYSTEMS
ANDROID
PLATFORM
ANDROID
DEVELOPMENT
ENVIRONMENT
THE ANDROID PLATFORM
A multi-layered
software stack for
building and running
mobile applications
A software stack for
mobile devices:
OS kernel, system libraries,
application frameworks &
key apps.
Android Software
Development Kit (SDK) for
creating apps.
Libraries & development
tools.
Security
Memory & process
management
File & network I/O
Device drivers
Power management
Android shared memory
Low memory killer
Inter process
communication
And much more
System C library
->Bionic libc
Surface Mgr.
->Display management
Media Framework
->Audio/ Video
Webkit
->browser engine
OpenGL
->Graphics engines
SQLite
->Relational
->database engine
Two main components
-> Core Java libraries
-> Dalvik Virtual
Machine
basic java classes -- java.*,
javax.*
app lifecycle -- android.*
Internet/Web services -- org. *
Unit testing -- junit.*
App written in java compiled to
Java byte code files.
DX converts java byte code files
to a single dex byte code file
(CLASSES.DEX).
Dalvik executes DEX byte code
file.
Designed for resource-constrained
environments
<>Slower CPU
<>Less RAM
<>Limited battery life
PACKAGE
MANAGER
 Keeps track of
App Packages on
Device.
WINDOW
MANAGER
 Manages the
Windows
comprising an
App.
Sub window
Notification
Bar
Main
Window
Tabs
Text
View
Buttons
Provides common user interface
Elements.
e.g., icons, text entry boxes,
buttons and more.
Manages non- compiled resources, e.g.
Strings, Graphics, and Layout files.
ACTIVITY MANAGER
Manages App Lifecycle and Navigation Stack.
Inter Application Data Sharing.
LOCATION MANAGER
Provides Location and Movement Information.
NOTIFICATION MANAGER
Place Notification Icons in the Status Bar when
important events occur.
Notification
Standard apps include:
Home – main screen
Contacts – contacts database
Phone – dial phone numbers
Browser – view web pages
Email reader –compose & read
email messages.
ANDROID DEVELOPMENT ENVIRONMENT
Your workbench for
writing Android
applications
Runs virtual devices
Can emulate many different device/ user
characteristics, such as: Network speed/
latencies, Battery power, Location coordinates.
Emulate incoming phone calls & SMS messages
Can interconnect multiple emulators
Doesn’t require an actual phone
Hardware is reconfigurable
Changes are non-destructive
Can be very
slow
Some features
unavailable e.g.,
no support for
blue tooth or
USB connections
Performance /
user experience
can be misleading
Android Handheld Systems
Android Handheld Systems
Android Handheld Systems

Android Handheld Systems