This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
Android's 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 world's best-selling Smartphone platforms.
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 combined venture of 80 h/w, s/w and telecom companies committed in enhancing open standards for cellular phones. 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.
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 h/w, access location information, running background services, setting 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
Retrieving data from various applications like images, videos etc, or to share their own data by the help of content providers.
AÂ Resource Manager, providing access to 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 Moving Picture Experts Group4, Joint Photographic Experts GroupÂ , and Portable Network Graphics.
Surface Manager - concerned with managing display subsystem and uniformly combine 2D and 3D graphic layers from various applications.
LibWebCore - Android browser and an embeddable web view both are powered by LIbWebCore.
SGL - the underlying 2D graphics engine.
3D libraries - OpenGL ES is a flavor of the OpenGL specification intended for embedded devices. Versions ofÂ OpenGL ESÂ are loosely peered to versions of the primary OpenGL standard. FreeType - it helps in interpreting bitmap and vector font
SQLite - It is a software library that employs aÂ self-supported,Â serverless,zero-configuration,Â transactionalÂ SQL database engine. it is one of theÂ most widely deployedÂ SQL database engine in the world. It supports open-source code.
4. Linux Kernel Layer :The kernel encapsulates various types of drivers which are required for proper functioning of android. Hence, it acts as a separation layer between the hardware and software. 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
Android Phone Vs. iPhone
Android Phone: A smartphone and tablet platform from the Open Handset Alliance. Based on Linux and Java, Android owners download and install applications via the Android Market online store.
iPhone: (InternetPhone) A smartphone from Apple that integrates cellphone, iPod, camera, text messaging, e-mail and Web browsing. Data and applications can be sent to the phone wireless or via Apple's iTunes software, which is used to organize music, videos, photos and applications.
Features where android phones do better than the iPhone
Open to carriers
The following figure shows number of Android devices that have reached within a 14-day period according to the date mentioned i.e 2nd February'11.
Data collected during two weeks ending on February 2, 2011