Androids mobile operating system is based on the Linux kernel and it is a software stack for mobile devices. This operating system is one of the worlds best-selling Smartphone platform.
Android involves many developers writing applications that supports in facilitating the operation of the devices. There are currently over 1,50,000 applications available for Android. Android Market is the online application store run by Google, though applications can also be downloaded from third-party sites. Developers write in the Java language.
On 5 November 2007, Android was discovered with the contribution of the Open Handset Alliance, a consortium of 80 hardware, software, and telecom companies devoted to advancing open standards for mobile devices. Most of the Android code is released by Google under the Apache License.
The Android open-source software stack consists of Java applications running on a Java-based, object-oriented application framework on top of Java core libraries . Libraries written in C include SQLite relational database management system, WebKit layout engine, SGL graphics engine, SSL. Linux kernel of Android OS, includes 12Â million lines of code roughly including 3Â million lines of XML, 2.8Â million lines of C, 2.1Â million lines of Java, and 1.75Â million lines of C++.
Ascender Corporation designed the Android logo with the Droid font family.
After original release, many updates of androids have been seen. These updates concentrate on stabilizing bugs as well as adding new features. Each new version's name depends on a code which relies on a dessert item.
Latest versions of Androids available in the market are:
2.0/2.1 (Eclair), which introduced HTML5 and Exchange ActiveSync 2.5 support
2.2 (Froyo), which introduced speed improvements with JIT optimization , Wi-Fi and Adobe Flash support
2.3 (Gingerbread), which introduced the on screen keyboard and copy, paste features, and added support for Near Field Communication
3.0 (Honeycomb), which supports broad screen devices and announces many new user interface features, and supports processors with two or more independent actual processors (called "cores") and hardware stimulation for graphics.
The future version of Android is:
Ice Cream Sandwich, a combination of Gingerbread and Honeycomb with a possible release in mid-2011.
Hardware Running Android
The main supported platform for Android is the ARM (Advanced Risc Machines) architecture.ARM is one of the most licensed and thus widespread processor cores in the world. It is used especially in portable devices due to low power consumption and reasonable performance. Now a days cell phones, note books and tablets, including the Dell Streak, Samsung Galaxy Tab, TV and other devices can use the functionality of Android . HTC Dream was the first phone to run android, released on 22 October 2008.
Current features and specifications:
Bluetooth, edge, 3G , WiFi support.
Camera GPS, accelerometer support.
GSM telephony support.
Integrated browser based on the open source webkit engine
Media support for common audio video, still image formats.
Android architecture has four layers:
1. Application Layer : Android is one of skillful and modifiable OS because of its many applications.Â Top 25 applications in the list below
Advanced task killer
Documents to go
Astro File Manager
Got To Do
These applications are written in Java Language.
2.Application Framework Layer: Android applications are written in the Java programming language. By the help of SDK tools Android's code is compiled with data and resource file. An archive file has .apk extension. All the code in a single .apk file is considered to be one application. By the help of this file, Android devices use to install the application.
Because of its open source platform feature, it enables building of new and enhanced inventive applications. There are many services which are provided by it like device hardware, access location information, run background services, set alarms; add notifications to the status bar, and much more.
Developers can fully control and work with the same framework. The main goal of application architecture is to maximize the reiteration of components. This same mechanism let the user to replace components .
Following are the applications consisting of set of services and systems, including:
Set ofÂ ViewsÂ that can be used to build an application, including lists, grids, text boxes, buttons, and web browser
Access data from other applications (such as Contacts), or to share their own data by the help of content providers.
AÂ Resource Manager, providing access to non-code resources such as localized strings, graphics, and layout files
To display custom alerts in the status bar by the help of a notification manager.
Lifecycle of applications can be maintained by an activity manager.
3.Libraries: Android system uses a set of C/C++ libraries which helps in functioning of its various components.. Android application framework exposes its functionalities for its users.
Some of the core libraries are listed below:
System C library - a BSD-derived implementation of the standard C system library , tuned for embedded Linux-based devices
Media Libraries - many audio and video formats are supported by these libraries. These libraries support image formats like MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG.
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 embeddable 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.
FreeType - bitmap and vector font rendering
SQLite - a powerful and lightweight relational database engine available to all applications
4.Linux Kernel Layer :The kernel also acts as an abstraction layer between the hardware and the rest of the software stack.
It contains the drivers for flash memory, camera, keypad, Audio, WiFi drivers , networking, file system access and inter process communication.
Android is totally dependent on Linux version 2.6 for internal system services such as providing security, managing memory, managing various process, and driver model.
Software Development Kit
The Android software development kit (SDK) includes a set of development tools viz. a debugger, libraries, a handset emulator documentation, sample code, and tutorials. Android developer website helps in downloading SDK. Currently supported development platforms include computers running Linux (any modern desktop Linux distribution), Mac OS X 10.4.9 or later, Windows XP or later. Instead of using Eclipse (official IDE) developers may take help of any text editor to edit Java in order to create, build and debug applications.
If the developer wishes to use old version, then SDK is also compatible with older version
Android applications are packaged in .apk format and stored under /data/application folder on the Android OS. APK package contains .dex files ,resource files, etc.
List of those features that android phones do better than the iPhone
Op[en to carriers
The following figure shows number of Android devices that have reached Android Market within a 14-day period ending on the data collection date noted below.
Data collected during two weeks ending on February 2, 2011