What is ANDROID?
Android is a Software stack for mobile devices
that includes an operating system, middleware
and key applications.
The Android SDK provides the tools and APIs
necessary to begin developing applications on the
Android paltform using the java programming
What is ANDROID?
Developers can create applications for the platform
using the android SDK.
Application are written using the java programming
language and run on DALVIK, a custom virtual
Machine designed for embedded use, which runs on
top of a Linux Kernel.
• Application framework enabling reuse and replacement of components.
• Dalvik virtual machine optimized for mobile devices.
• Integrated browser based on the open sourceWebKit Engine.
• Optimized graphics powered by a custom 2D graphics library; 3D
graphics based on the Open GL|ES 1.0 specification (hardware acceleration
• SOLite for structured data storage.
• Media supports for common audio, video and still image formats such
as (MPEG 4, H.264, MP3, AAC, AMR, JPG, PNG, GIF).
• GSM Telephony, Bluetooth, GPRS, EDGE, 3G, Wi-Fi.
Android relies on Linux version 2.6 x for core system services.
The Kernel acts as an abstraction Layer between the hardware and
the rest of the software stack.
Linux manages variety of services such as:
Security, Memory management, Process Management,
Network stack and Driver model.
•Android includes a set of C/C++ libraries used by various
components of the android system.
•These capabilities are exposed to developers through
the android application framework.
• Relies on the Linux Kernel for underlying functionality.
• System C library – a BSD- derived implementation of the standard C
system library , tuned for embedded Linux based Devices.
• Media Libraries – based on PacketVideo’s OpenCore; the library
support playback and recording of many popular audio and video formats
as well as static image files, including MPEG4, H.264, MP3,AAC,AMR etc.
• Surface Manager – manages access to the display subsystem and seamlessly
composites 2D and 3D graphic layers from multiple applications.
• LibWebCore – a modern web Browser engine which powers both the
Android browser and an Embeddabale Web View.
• SGL – the underlying 2D graphics engine.
• 3D Libraries– an implementation based on OPENGL| ES 1.0 APIs ;
the libraries use either hardware 3D acceleration (where available) or the
included, highly optimized 3d software rasterizer.
• Free Type – bitmap and vector font rendering.
• SQLite – a powerful and lightweight relational database engine available
to all applications.
Resources and Assets
• Resources are the integral part of an Android application.
• In general, these are external elements that you want to include
and reference within your application like images, audio, video,
text strings, themes etc.
The Android Manifest File
• It names the java package for the application.The package name serves as the
Unique identifier for the applications.
• It determines which processes will host application components.
• It determines which permissions the application must have in order to access
protected parts of the API and interact with other applications.
• It also declares the permissions that others are required to have in order to interact
with the application’s components.
• It lists the Instrumentation classes that provide profiling and other information as
the application is running.These declarations are present in the manifest only while
The application is being developed and tested; they’re removed before the applicat-
ion is published.
• It declares the minimum level of the Android API that the application requires.
• It lists the libraries that the application must be linked against.
• Android includes a set of core libraries that provide most of the functionality
available in the core libraries of the Java Programming Language.
• Every Android application runs in its own process, with its own instance of the
• Dalvik has been written so that a device can run multipleVMs efficiently.
Android’s programs are written in java, using Java Oriented IDEs like
Eclipse, Net-beans etc.
It just doesn’t compile the java code into java bytecode but instead
Dalvik Bytecode(.dex) files.
The Android Manifest XML File
• Every application must have anAndroid Manifest.xml file in its root
• The manifest fie represents essential information about the application
to the Android system, information the system must have before it can
run any of the application’s code .
• A rich and Extensible set of views that can be used to build an
application including lists, grids, textboxes, 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, provides access to non-code resources
such as localized strings , graphics and layout files.
• A Notification Manager that enables all applications to display
custom alerts in status bar.
•An Activity Manager that manages the Life cycle of applications
And provides a common navigation backstack.
• A Package Manager, shows all the applications installed on your device.
• Telephony Manager , for all Calls/SMS/MMS managing.
• Android’s applications are written in Java Programming Language.
• The complied java code – along with any data and resource files required by the application
is bundled by the aap tool into an Android Package, an archive file is marked by .apk suffix.
• The File is the vehicle for distributing the application and installing it on mobile devices ; its
the file users download to their devices. All the code in a single .apk file is considered to be
• In many ways, each Android application lives in its own world :
By Default, every application runs in its own Linux Process.
Each process has its ownVirtual machine (VM), so application code runs in isolation
from the code of all other applications.
By Default, each application is assigned a unique Linux user Id
Permissions are set so that the application’s files are visible only to that user, only to the
Android will ship with a set of core applications including
an E-mail client, SMS Program, calendar, maps, browser,
contacts, and many more.
All applications are written using the java Programming