This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.
Android (Operating System) - Revolution in Mobile Technology
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 platform.
Android involves many developers writing applications that helps in extended the functionality 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.
The unveiling of the Android distribution on 5 November 2007 was announced with the founding 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 applicationlication framework on top of Java core libraries . Libraries written in C include SQLite relational database management system, WebKit layout engine, SGL graphics engine, SSL. The Android operating system, including the Linux kernel, consists of roughly 12million lines of code including 3million lines of XML, 2.8million lines of C, 2.1million lines of Java, and 1.75million 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 focus on fixing bugs as well as adding new features. Each new version is developed under a code name based on a dessert item.
The most recent released versions of Android 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 soft keyboard and copy/paste features, and added support for Near Field Communication
- 3.0 (Honeycomb), which supports larger screen devices and introduces many new user interface features, and supports multicore processors and hardware acceleration for graphics.
The upcoming version of Android is:
- Ice Cream Sandwich, a combination of Gingerbread and Honeycomb into a "cohesive whole," 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
- Goggle voice
- Advanced task killer
- Drop box
- Droid Analytics
- Documents to go
- Amazon kindle
- Places directory
- FCC Speedtest
- Astro File Manager
- Got To Do
- TED Mobile
- Dial Zero
- Google Goggles
- Google Skymap
- Photoshop Mobile
- Barcode Scanner
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.
Android provides the ability to build extremely rich and innovative applications due to open source platform. These are the 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 have full access to the same framework APIs used by the core applications. The application architecture is designed to simplify the reuse of components; any application can publish its capabilities and any other application may then make use of those capabilities .This same mechanism allows components to be replaced by the user.
Underlying all applications is a set of services and systems, including:
- Set ofViewsthat 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.
- AResource 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.
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 relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, 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 use any text editor to edit Java and XML to create, build and debug Android applications.
The SDK also supports older versions of the Android platform in case developers wish to target their applications at older devices.
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
- PC Connection
- Endless personalization
- Goggle integration
- Open source
- Op[en to carriers
The following pie chart and table is based on the number of Android devices that have accessed 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