Android Platform

Android is a mobile phone operating system developed by Google. Android is unique because Google is actively developing the platform but giving it away for free to hardware manufacturers and phone carriers who want to use Android on their devices.

Android is a mobile operating system using the Linux kernel. It was initially developed by Android Inc., a firm later purchased by Google, and lately by the Open Handset Alliance.
It allows developers to write managed code in the Java language, controlling the device via Google-developed Java libraries.
The unveiling of the Android distribution on 5 November 2007 was announced with the founding of the Open Handset Alliance

Available Versions:
1.5 (Cupcake)
On 30 April 2009, the official 1.5 (Cupcake) update for Android was released
1.6 (Donut)
On 15 September 2009, the 1.6 (Donut) SDK was released
2.0/2.1 (Eclair)
On 26 October 2009 the 2.0 (Eclair) SDK was released


Features:
Handset layouts:The platform is adaptable to larger, VGA, 2D graphics library, 3D graphics library
Storage:The Database Software SQLite is used for data storage purposes
Connectivity:Android supports connectivity technologies including GSM/EDGE, CDMA, EV-DO, UMTS, Bluetooth, and Wi-Fi
Messaging:SMS and MMS are available forms of messaging including threaded text messaging
Web browser:The web browser available in Android is based on the open-source WebKit application framework
Java support:Software written in Java can be compiled to be executed in the Dalvik virtual machine
Media support :Android supports the following audio/video/still media formats: 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, BMP
Development environment:Includes a device emulator, tools for debugging, memory and performance profiling, a plugin for the Eclipse IDE
Market:Android Market is a catalog of applications that can be downloaded and installed to target hardware over-the-air, without the use of a PC.
Multi-touch:Android has native support for multi-touch which is available in newer handsets such as the HTC Hero

Architecture:


Applications: basic applications include an email client, SMS program, calendar, maps, browser, contacts, and others. All applications are written in Java programming language.

Application Framework: the developers have full access to the same framework APIs used by applications base. The architecture is designed to simplify the reuse of components, any application can publish its capabilities and any other application can then make use of those capabilities (subject to safety rules framework). This same mechanism allows components to be replaced by the user.

Libraries: Android includes a set of libraries C / C + + used by various components of the Android system. These features are exposed to developers through the Android application framework, some of them: System C library (C standard library implementation), media libraries, graphics libraries, 3d, SQLite, and others.
Runtime Android: Android includes a set of base libraries that provide most of the features available in the libraries of the Java language base. Every Android application runs its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. Dalvik executes files in the Dalvik Executable (. Dex), which is optimized for minimum memory. The virtual machine is based on records, and runs classes compiled by the Java compiler that have been transformed by the tool to formato.dex included “dx”.

Kernel – Linux: Android depends on Linux version 2.6 for basic services such as security system, memory management, process management, network stack and driver model. The kernel also acts as an abstraction layer between hardware and the rest of the software stack.