The Android – a mobile operating system is developed by Google team. It is an operating system for mobiles. Google has made most of the Android platform available under the Apache free software and open source license. Android is a freely downloadable open source software stack for mobile devices that includes an operating system, middleware and key applications based on Linux and Java. Google developed Android collaboratively as part of the Open Handset Alliance, a group of more than 30 mobile and technology companies working to open up the mobile handset environment.
Android is a software platform and operating system for mobile devices, based on the Linux kernel, and developed by Google and later the Open Handset Alliance. It allows developers to write managed code in the Java language, controlling the device via Googledeveloped Java libraries. Applications written in C and other languages can be compiled to ARM native code and run, but this development path isn’t officially supported by Google. Android is available as open source. Google threw open the entire source code (including network and telephony stacks) that were not available previously, under an Apache license. Certain parts that relate to a specific hardware can’t be made open and are not considered part of the Android platform. With Apache License, vendors are free to add proprietary extensions without submitting those back to the open source community. While Google’s contributions to this platform are expected to remain open sourced, the branches could explode using varieties of licenses.
1) Acquisition by Google
In July 2005, Google acquired Android, Inc., a small startup company based in Palo Alto, California, USA. Android’s co founders who went to work at Google included Andy Rubin, Rich Miner, Nick Sears and Chris White. At the time, little was known about the functions of Android, Inc. other than that they made software for mobile phones This began rumors that Google was planning to enter the mobile phone market. At Google, the team led by Rubin developed a mobile device platform powered by the Linux kernel which they marketed to handset makers and carriers on the premise of providing a flexible, upgradeable system. It was reported that Google had already lined up a series of hardware component and software partners and signaled to carriers that it was open to various degrees of cooperation on their part. More speculation that Google would be entering the mobilephone market came in December 2006. Reports from the BBC and The Wall Street Journal noted that Google wanted its search and applications on mobile phones and it was working hard to deliver that. Print and online media outlets soon reported rumors that Google was developing a Googlebranded handset. More speculation followed reporting that as Google was defining technical specifications, it was showing prototypes to cell phone manufacturers and network operators.
2) Update history
Android has seen a number of updates since its original release. These updates to the base operating system typically fix bugs and add new features. And generally, each update to the Android operating system is developed under a code name based on a dessert item.
1.5 (Cupcake) April 2009
1.6(Donut) September 2009
2.0/2.1(Eclair) December 2009
2.2(Froyo) May 2010
Gingerbread scheduled for Q4 2010 launch.
Honeycomb Scheduled for 2011 launch.
FEATURES OF ANDROID
Handset layouts: Android can adapt to traditional smart phone layouts, as well other VGA, 2D, and3D graphics libraries.
- Storage: Android uses SQLite to store all its junk I mean, information.
- Connectivity: Android supports a wide variety of technologies, including Bluetooth, WiFi, GSM/EDGE, and EVDO.
- Messaging: MMS and SMS are available for Android, as well as threaded text messaging. So you can send as many texties as you like.
- Web Browser: Android comes preloaded with the Web Kit application. Remember, if you don’t like it, you can always switch it out for something else later on thanks to the open source nature of the Google Android backend.
- Java Virtual Machine: Software you write in Java can be compiled in Dalvik Byte codes (say that five times fast. I keep ending up with “Danish light bulb”.) These can then be put into a Dalvik Virtual Machine. Basically more robust applications are supported than on some other Mobile Operating Systems.
- Media Support: Android supports a wide range of audio, video, media, and still formats. MPEG4, OGG, and AAC are just a few of these. Unfortunately the Media Player as its known right now is pretty basic, although more robust offerings on are the horizon from 3rd Party developers.
- Additional Hardware Support: Got a touch screen you want to put to its full use? No problem. Android is capable of utilizing outside hardware like GPS, accelerometers, and all that other fun stuff.
FACT ABOUT ANDROID
The Android operating system consists of 12 million lines of code 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++.
The following diagram shows the major components of the Android operating system, they are:
2. Application framework
4. Linux kernel
Android will ship with a set of core applications including an email client, SMS program, calendar, maps, browser,contacts, and others. All applications are written using the java programming language.
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 (subject to security constraints enforced by the framework). This same mechanism allows components to be replaced by the user.
Android includes a set of C/C++ libraries used by various components of the Android system. These capabilities are exposed to developers through the Android application framework.
Android includes a set of core libraries that provides most of the functionality available in the core libraries of the Java programming language. Every Android application runs in 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. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. The VM is registerbased, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included “dx” tool.
A central design point of the Android security architecture is that no application, by default, has permission to perform any operations that would adversely impact other applications, the operating system, or the user. This includes reading or writing the user’s private data such as contacts or emails, reading or writing another application’s files, performing network access, keeping the device awake, etc.
An application’s process is a secure sandbox. It can’t disrupt other applications, except by explicitly declaring the permissions it needs for additional capabilities not provided by the basic sandbox. These permissions it requests can be handled by the operating in various ways, typically by automatically allowing or disallowing based on certificates or by prompting the user. The permissions required by an application are declared statically in that application, so they can be known upfront at install time and will not change after that.
The early feedback on developing applications for the Android platform was mixed.Issues cited include bugs, lack of documentation, inadequate QA infrastructure, and no public issuetracking system. (Google announced an issue tracker on 18 January 2008.) In December 2007, MergeLab mobile startup founder Adam MacBeth stated, “Functionality is not there, is poorly documented or just doesn’t work. It’s clearly not ready for prime time. ” Despite this, Androidtargeted aplications began to appear the week after the platform was announced. The first publicly available application was the Snake game. The Android Dev Phone is a SIMunlocked and hardwareunlocked device that is designed for advanced developers. While developers can use regular consumer devices purchased at retail to test and use their applications, some developers may choose not to use a retail device, preferring an unlocked or nocontract device.
STORING, RETRIEVING AND EXPOSING DATA
A typical desktop operating system provides a common file system that any application can use to store and read files that can be read by other applications. Android uses a different system on Android, all application data are private to that application. However, Android also provides a standard way for an application to expose its private data to other applications. This section describes the many ways that an application can store and retrieve data, expose its data to other applications, and also how you can request data from other applications that expose their data.
Android provides the following mechanisms for storing and retrieving data:
- Preferences: A lightweight mechanism to store and retrieve key value pairs of primitive data types. This is typically used to store application preferences.
- Files: You can store your files on the device or on a removable storage medium. By default, other applications cannot access these files.
- Databases: The Android APIs contain support for SQLite. Your application can create and use a private SQLite database. Each database is private to the package that creates it.
- Content Providers: A content provider is a optional component of an application that exposes read/write access to an application’s private data, subject to whatever restrictions it wants to impose. Content providers implement a standard request syntax for data, and a standard access mechanism for the returned data. Android supplies a number of content providers for standard data types, such as personal contacts.
- Network:Don’t forget that you can also use the network to store and retrieve data.
SECURITY AND PERMISSIONS IN ANDROID
Android is a multiprocess system, where each application (and parts of the system) runs in its own process. Most security between applications and the system is enforced at the process level through standard Linux facilities, such as user and group IDs that are assigned to applications. Additional finergrained security features are provided through a “permission” mechanism that enforces restrictions on the specific operations that a particular process can perform, and perURI permissions for granting adhoc access to specific pieces of data.
A central feature of Android is that one application can make use of elements of other applications (provided those applications permit it). For example, if your application needs to display a scrolling list of images and another application has developed a suitable scroller and made it available to others, you can call upon that scroller to do the work, rather than develop your own. Your application doesn’t incorporate the code of the other application or link to it. Rather, it simply starts up that piece of the other application when the need arises.
- Activities: They provide a visual user interface for one focused Endeavour the user can undertake.
- Services: A service doesnt have a visual user interface, but rather runs in background for an indefinite period of time.
- Broadcast receivers: They receive and broadcast the announcements made.
- Content providers: They make application data available to the user.
HARDWARE RUNNING ANDROID
The Android OS can be used to power cellphones, netbooks and tablet PCs, including the Dell Streak, Samsung Galaxy Taband other devices.
The first commercially available phone to run the Android operating system was the HTC Dream, released on 22 October 2008.
Android is appealing to developers
- Android apps can be developed on any platform (Windows XP and Vista, Linux, and Mac OS X) where iPhone apps can only be developed on a fairly new Mac.
- iPhone apps require developers to learn ObjectiveC (which is used almost nowhere outside Apple). But Android is Java which all mobile app developers are familiar with.
- Anyone can develop and launch an Android app whereas Apple has strict control of their App Store.
- Getting your iPhone app available in the App Store requires you to jump through the hoops of an approval process which can take 23 months (and could be rejected for competing with a native application!) But Android apps can be available in the Android Market instantly.
Android is feature rich
Android can support the same hardware as the iPhone: touchscreen, accelerometer, GPS, WiFi SMS & still camera; plus features that the iPhone doesnt support: MMS, video camera & Bluetooth.
- Android has some fresh ideas like Google Maps street view and customisable home page.
- Unlike the iPhone, apps on an Android handset can run in parallel (eg an app running in the background can send an alert).
- The Android platform is open source and extensible by the developer community where as the iPhone is controlled by Apple. Android is appealing to manufacturers
- Android is a free OS so an Androidenabled smartphone should be cheaper than a normal smartphone. All the major manufacturers are looking at using it.
- In the US, AT&T has exclusive rights to sell the iPhone 3G (for the next 5 years), but Android is license and operator independent.
APPLICATIONS DEVELOPED ON ANDROID PLATFORMS
- Samsung, Sony ericsson, Huawei Technologies and Motorola confirmed that it was working on hardware products that would run Android. They have even rolled out some amazing smartphones in the market, which are Android based.
- Lenovo is also working on an Androidbased mobile phone that supports the Chinese 3G TD SCDMA standard.
- HTC has released a “portfolio” of Android based phones.
- GiiNii Movit Mini is a Internet device based on Google’s Android operating system.
Android sits alongside a new wave of mobile operating systems designed for increasingly powerful mobile hardware. Windows Mobile and Apples iPhone now provide a richer, simplified development environment for mobile applications. However, unlike Android, theyre built on proprietary operating systems that often prioritize native applications over those created by third parties and restrict communication among applications and native phone data. Android offers new possibilities for mobile applications by offering an open development environment built on an open source Linux kernel. Hardware access is available to all applications through a series of API libraries, and application interaction, while carefully controlled, is fully supported.
In Android, all applications have equal standing. Thirdparty and native Android applications are written using the same APIs and are executed on the same run time. Users can remove and replace any native application with a thirdparty developer alternative; even the dialer and home screens can be replaced.
- Google Android Sales to Overtake iPhone in 2012.
- The OHA is committed to make their vision a reality: to deploy the Android platform for every mobile operator, handset manufacturers and developers to build innovative devices .
- Intel doesnt want to lose ownership of the netbook market, so they need to prepare for anything, including Android.
- Fujitsu launched an initiative to offer consulting and engineering expertise to help run Android on embedded hardware, which aside from cellphones, mobile internet devices, and portable media players, could include GPS devices, thinclient computers and settop boxes.
- More Android devices are coming and some will push the envelope even further.
The final conclusion is that the Androids platform which has developed by Google is going to play major role in Mobile Operating System and its applications as it is an open source and it is also easy to develop mobile applications using Android. These apps turn out to be very useful in our day to day life. Android is the future of mobile operating systems.