2. Introduction
Android is a software bunch comprising not only operating system but also
middleware and key applications. Android Inc was founded in Palo Alto of
California, U.S. by Andy Rubin, Rich miner, Nick sears and Chris White in 2003.
Later Android Inc. was acquired by Google in 2005.
Android Versions
VERSION RELEASE DATE CODE NAME
1.1 9th Feb 2009
1.5 30th April 2009 Cupcake
1.6 15th Sptember 2009 Donut
2.0/2.1 26th October 2009 Eclairs
2.2 20th May 2010 Froyo
2.3 6th December 2010 GingerBread
3.0/3.1/3.2 22nd Feb 2011 Honeycomb
3. Version Release date Code name
4.0 19th October 2011 Ice-cream Sandwich
4.0.1 21st October 2011 Ice-cream Sandwich
4.1/4.2/4.3 9th July 2012 Jellybins
4.4 31st October 2013 Kitkat
5.0 12 November 2014 Lollupop
6.0 5th October 2015 Marshmalleo
Google released Android 3.0, a tablet-only release supporting widescreen devices. The
key changes in Android 3.0 are as follows.
➤ New user interface optimized for tablets
➤ 3D desktop with new widgets
➤ Refined multi-tasking
➤ New web browser features, such as tabbed browsing, form auto-fill, bookmark
synchronization, and private browsing
➤ Support for multi-core processors
4. Features of Android
Each and every version of android has its own features such as
1.5 android Cupcake ( API 3):-Support for third-party virtual keyboards with
text prediction and user dictionary for custom words
Auto-rotation option
Specific date/time stamp shown for events in call log, and one-touch access
to a contact card from call log event
ANDROID 1.6 DONUT (API 4)
Gallery, camera and camcorder more fully integrated, with faster camera
access
Speed improvements in searching and camera applications
Expanded Gesture framework and new GestureBuilder development tool
5. ANDROID 2.0 ECLAIRS (API 5)
Ability to tap a Contacts photo and select to call, SMS, or email the person
Numerous new camera features, including flash support, digital zoom, scene
mode, white balance, color effect and macro focus
Improved typing speed on virtual keyboard, with smarter dictionary that learns
from word usage and includes contact names as suggestions
Refreshed browser UI with bookmark thumbnails, double-tap zoom and support
for HTML 5
Calendar agenda view enhanced, showing attending status for each invitee, and
ability to invite new guests to events
Optimized hardware speed and revamped UI
Support for more screen sizes and resolutions, with better contrast ratio
Improved Google Map3.1.2
6. ANDROID 2.3 GINGERNREAD API 9
Updated user interface design with increased simplicity and speed
Support for multiple cameras on the device, including a front-facing camera, if
available
Audio, graphical, and input enhancements for game developers
ANDROID 3.0 HONEYCOMB API 11
Optimized tablet support with a new “holographic” user interface
Added System Bar, featuring quick access to notifications, status, and soft
navigation buttons, available at the bottom of the screen
Added Action Bar, giving access to contextual options, navigation, widgets, or
other types of content at the top of the screen
Simplified multitasking – tapping Recent Applications in the System Bar allows
users to see snapshots of the tasks underway and quickly jump from one
application to another
Redesigned keyboard, making typing fast, efficient and accurate on larger screen
sizes
Simplified, more intuitive copy/paste interface
7. Multiple browser tabs replacing browser windows, plus form auto-fill and a new
“incognito” mode allowing anonymous browsing
Quick access to camera exposure, focus, flash, zoom, front-facing camera, time-
lapse, and other camera features
Ability to view albums and other collections in full-screen mode in Gallery, with
easy access to thumbnails for other photos
New two-pane Contacts UI and Fast Scroll to let users easily organize and locate
contacts
New two-pane Email UI to make viewing and organizing messages more efficient,
allowing users to select one or more messages
ANDROID 4.0 ICECREAM SANDWITCH API 14
Easier-to-create folders, with a drag-and-drop style
Better voice integration and continuous, real-time speech to text dictation
Face Unlock, a feature that allows users to unlock handsets using facial
recognition software
Automatic syncing of browser with users' Chrome bookmarks
Data Usage section in settings that lets users set warnings when they approach a
certain usage limit, and disable data use when the limit is exceeded
8. ANDROID 4.1 JELLY BIN API 16
Ability to turn off notifications on an application-specific basis
Shortcuts and widgets can automatically be re-arranged or re-sized to allow
new items to fit on home screens
Bluetooth data transfer for Android Beam
ANDROID 4.4 API 19
Restriction for applications when accessing external storage, except for their
own directories
Storage Access Framework, an API allowing apps to retrieve files in a
consistent manner. As part of the framework, a new system file picker allows
users to access files from various sources (including those exposed by apps,
such as online storage services)
New framework for UI transitions
Sensor batching, step detector and counter APIs
UI updates for Google Maps navigation and alarms
9. ANDROID 5.0 API 21
Guest logins and multiple user accounts are available on more devices, such
as phones
Refreshed notification tray and quick settings pull-down
Pinning of an application's screen for restricted user activity
flashlight-style application is included, working on supported devices with a
camera flash
Improvements to the notification priority system, to more closely replicate
the silent mode that was removed in Android 5.0.
Android 6.0 Marshmalleo API API 23
Application search bar and favorites
Native fingerprint reader support
Direct Share feature for target-specific sharing between apps[198]
Do Not Disturb mode
Larger Application folders with multiple pages
Post-install/run-time permission requests
10. Architecture of android
The Android OS is roughly divided into fi ve sections in four main layers:
➤ Linux kernel — This is the kernel on which Android is based. This layer
contains all the lowlevel 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 specifi cally for Android and optimized for battery-
powered mobile devices with limited memory and CPU.
11. ➤ Application framework — Exposes the various capabilities of the Android OS to
application developers 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.
ANATOMY OF ANDROID APPLICATIONS :-
The various folders and their files are as follows:
➤ src — Contains the .java source files for your project.
➤ gen — Contains the R.java file, a compiler-generated file that references all the
resources found in your project. You should not modify this file. All the resources in
your project are automatically compiled into this class so that you can refer to them
using the class.
➤ Android 4.0 library — This item contains one file, android.jar, which contains all
the class libraries needed for an Android application.
➤ assets — This folder contains all the assets used by your application, such as HTML,
text files, databases, etc.
➤ bin — This folder contains the fi les built by the ADT during the build process. In
particular, it generates the .apk fi le (Android Package). An .apk fi le is the application
binary of an Android application. It contains everything needed to run an Android
application.
12. res — This folder contains all the resources used in your application. It also
contains a few other subfolders: drawable-<resolution>, layout, and values. ➤
AndroidManifest.xml — This is the manifest file for your Android application. Here
you specify the permissions needed by your application, as well as other features
(such as intent-filters, receivers, etc.).
The AndroidManifest.xml fi le contains detailed information about the application:
It defines the package ➤ The version code of the application is 1 (set via the
android:versionCode attribute). This value is used to identify the version number
of your application. It can be used to programmatically determine whether an
application needs to be upgraded.
➤ The version name of the application is 1.0 (set via the android:versionName
attribute). This string value is mainly used for display to the user. You should use
the format <major>.<minor>.<point> for this value. ➤ The android:minSdkVersion
attribute of the <uses-sdk> element specifi es the minimum version of the OS on
which the application will run.
➤ The application uses the image named ic_launcher.png located in the drawable
folders.
➤ The name of this application is the string named app_name defi ned in the
strings.xml fi le.
➤ There is one activity in the application represented by the
HelloWorldActivity.java file. The label displayed for this activity is the same as the
application name.
13. Within the definition for this activity, there is an element named <intent-
filter>:
➤ The action for the intent filter is named android.intent.action.MAIN to
indicate that this activity serves as the entry point for the application.
➤ The category for the intent-filter is named
android.intent.category.LAUNCHER to indicate that the application can be
launched from the device’s launcher icon.