Monday, July 25, 2011

What is Android ?

Android is an operating system based on Linux with a Java programming interface for mobile devices such as smartphones and tablet computers. It is developed by the Open Handset Alliance led by Google.

Who founded Android, Inc?
Andrew E. Rubin (key person) at Open Handset Alliance.

Android, Inc. was founded in Palo Alto, California, United States in October, 2003 by Andrew E. Rubin (co-founder of Danger), Rich Miner (co-founder of Wildfire Communications, Inc.), Nick Sears (once VP at T-Mobile),and Chris White (headed design and interface development at WebTV) at Open Handset Alliance.

Google Purchased the Android
Google purchased the initial developer of the Android software, Android Inc., in 2005, making Android Inc. a wholly-owned subsidiary of Google Inc. Key employees of Android Inc., including Andy Rubin, Rich Miner and Chris White, stayed at the company after the acquisition.

Android competes with Sambian OS, Apple's iOS (for iPhone/iPad), RIM's Blackberry, Microsoft's Windows Phone (previously called Windows Mobile), and many other proprietary mobile OSes.

Android Architecture

Basically Android has the following layers:
  • applications (written in java, executing in Dalvik)
  • framework services and libraries (written mostly in java)
    • applications and most framework code executes in a virtual machine
  • native libraries, daemons and services (written in C or C++)
  • the Linux kernel, which includes
    • drivers for hardware, networking, file system access and inter-process-communication 
Android Application Components
There are four different types of application components. Each type serves a distinct purpose and has a distinct lifecycle that defines how the component is created and destroyed.

An activity represents a single screen with a user interface. For example, an email application might have one activity that shows a list of new emails, another activity to compose an email, and another activity for reading emails.
An activity is implemented as a subclass of Activity.

A service is a component that runs in the background to perform long-running operations or to perform work for remote processes. A service does not provide a user interface. For example, a service might play music in the background while the user is in a different application. Another component, such as an activity, can start the service and let it run or bind to it in order to interact with it.

A service is implemented as a subclass of Service.

Content providers
A content provider manages a shared set of application data. You can store the data in the file system, an SQLite database, on the web, or any other persistent storage location your application can access. Through the content provider, other applications can query or even modify the data (if the content provider allows it). For example, the Android system provides a content provider that manages the user's contact information.

A content provider is implemented as a subclass of ContentProvider.

Broadcast receivers
A broadcast receiver is a component that responds to system-wide broadcast announcements. Many broadcasts originate from the system—for example, a broadcast announcing that the screen has turned off, the battery is low,message has been received or a picture was captured.

A broadcast receiver is implemented as a subclass of BroadcastReceiver.

Android Version history
Android Beta 
The Android beta was released on November 5, 2007, while the software developer's kit (SDK) was released on November 12, 2007.

Android 1.0
Android 1.0, the first commercial version of the software, was released on September 23, 2008. The first Android device, the HTC Dream,which was following Android 1.0 features.

Android 1.1
On February 9, 2009, the Android 1.1 update was released, initially for the T-Mobile G1 only. The update resolved bugs, changed the API and added a number of other features.

Android 1.5 ( Cupcake )
On April 30, 2009, the Android 1.5 update, dubbed Cupcake, was released, based on Linux kernel 2.6.27.

Android 1.6 ( Donut )
On September 15, 2009, the Android 1.6 SDK – dubbed Donut – was released, based on Linux kernel 2.6.29.

Android 2.0/2.1 ( Eclair )
On October 26, 2009, the Android 2.0 SDK – codenamed Éclair – was released, based on Linux kernel 2.6.29.and updated on January 12, 2010 as 2.1 version.

Andrid 2.2.x (Froyo)
On May 20, 2010, the Android 2.2 (Froyo) SDK was released, based on Linux kernel 2.6.32.

Android 2.3.x ( Gingerbread )
On December 6, 2010, the Android 2.3 (Gingerbread) SDK was released, based on Linux kernel 2.6.35.

Android 3.x (Honeycomb)
On February 22, 2011, the Android 3.0 (Honeycomb) SDK – the first tablet-only Android update – was released, based on Linux kernel 2.6.36.The first device featuring this version, the Motorola Xoom tablet, was released on February 24, 2011.

Android 4.0.x (Ice Cream Sandwich)
The SDK for Android 4.0.1 (Ice Cream Sandwich), based on Linux kernel 3.0.1,was publicly released on October 19, 2011.

Android 4.1  (Jelly Bean)
Google announced the next Android version on June 27, 2012, 4.1 Jelly Bean. Jelly Bean is an incremental update, with the primary aim of improving the user interface, both in terms of functionality and performance. 

No comments:

Post a Comment