Welcome to the world of Android!
What is Android?
Android is a mobile operating system based on Linux, Android
applications are written in Java programming.
It provides tools like compiler, debugger and an embedded
device emulator (AVD-Android Virtual Device through which developer can check
their apps) and own java virtual machine known as Dalvik Virtual Machine (DVM).
Android is officially guided by the Open Handset Alliance (OHA)
but in reality it is Google Leading Project. It provides opens source code
facility under the open source Apache License.
Android supports 2-D and 3-D graphics using the OpenGL
libraries and support embedded data storage SQLite data base.
Every Android applications runs in its own process and under
its own use “id” which is generated automatically by the Android System during
development.
Therefore each application is isolated from other running
applications and a misbehaving application cannot easily harm other Android
Applications.
Features of Android
Android is open
source and freely available to manufacturers for customization, there are no fixed
hardware or software configurations. However, Android itself supports the
following features:
Storage — Uses SQLite a light weight
relational database, for data storage.
Connectivity — Supports
GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth (includes A2DP and AVRCP), Wi-Fi, LTE, and WiMAX. Messaging
— Supports both SMS and MMS.
Web
browser — Based on the open source WebKit.
Media support — Includes support for
the following media: H.263, H.264 (in 3GP or MP4 container), MPEG-4 SP, AMR, AMR-WB (in 3GP
container), AAC, HE-AAC (in MP4 or
3GP container), MP3, MIDI, Ogg Vorbis, WAV,
JPEG, PNG, GIF, and BMP.
Hardware support — Accelerometer Sensor,
Camera, Digital Compass, Proximity Sensor, and GPS.
Multi-touch — Supports
multi-touch screens.
Multi-tasking — Supports
multi-tasking applications.
Flash support — Android 2.3
supports Flash 10.1.
Tethering — Supports sharing of
Internet connections as a wired/wireless hotspot.
Architecture of
Android
In order to understand how Android works, follow to the
below figure, which shows the various
layers that make up the Android operating system (OS).
The Android OS is roughly divided into five sections in four
main layers:
Linux kernel — This is the kernel on which Android is based. This
layer contains all the low level device drivers for the various hardware components of an
Android device.
Libraries — These contain all the code
that provides the main features of an Android OS. For
example, the SQLite library provides database support so
that an application can use it for
data storage. The WebKit library provides functionalities
for web browsing.
Android runtime —
At the same layer as the libraries, the Android runtime provides a set
of core libraries that enable developers to write Android
apps using the Java programming
language. The Android runtime also includes the Dalvik Virtual
Machine, which enables every
Android application to run in its own process, with its own
instance of the Dalvik Virtual
Machine (Android applications are compiled into Dalvik
executables). Dalvik is a specialized
virtual machine designed specifically for Android and
optimized for battery-powered mobile
device with limited memory and CPU.
Application framework — Expose the various capabilities of the
Android OS to application
Developer so that
they can make use of them in their applications.
Applications — At this top layer, you will
find applications that ship with the Android device
(such as Phone, Contacts, Browser, etc.), as well as applications
that you download and install from the Android Market. Any applications that
you write are located at this layer.
No comments:
Post a Comment