Thursday, September 3, 2009

What the heck is Android




Introduction
In 2005, Google bought Android, Inc., a small company, based in Palo Alto, California. Apart from android core technology, the acquisition brought Google a wealth of talent including Andy Rubin, co-founder of Danger Inc. and a former engineer at Apple. Some of the people who left to work at Google were Rich Miner, the co-founder of Wildfire Communications, Chris White, an engineer at WebTV, and Nick Sears, the former VP of T-Mobile. They all were facing a challenge to reach out to the common consumer market for smart phones more conveniently and in a timely fashion. They realized that absence of an open standard is the missing link and has to be addressed. The same hurdle was also felt strongly by other players in the mobile phones market and led to the formation of OHA (Open Handset Alliance).
Android is an open source mobile platform supported by the Linux OS. This Linux-based OS was developed by Andy Rubin and his team at Google. The android project was initiated by Andy Rubin’s team at Google and later led by OHA. OHA is a business alliance of 50 firms dedicated to develop open standards for mobile devices. Android was officially unveiled and released in November, 2007 by OHA.
Architecture
Delivering a complete set of software for mobile devices which includes OS, middleware and key mobile applications, android offers full advantage to developers to leverage the full capabilities a handset can offer. Built upon Linux kernel, it utilizes a custom Java virtual machine (Dalvik Virtual Machine) to take full advantage of memory and hardware resources in a mobile environment. Android is a continuously evolving technology at Google dedicated to build innovative mobile phones. T-Mobile G1 is the first phone released in late 2008 running android.
Following diagram illustrates the major components of the android OS.



Features


Android offers a wide range of out-of the box facilities to its users. Besides having a user-friendly mobile environment it also offers an innovative experience with its outstanding features
Some of the features that android offers includes:
ü Application framework enabling reuse and replacement of components
ü Dalvik virtual machine optimized for mobile devices
ü Integrated browser based on the open source WebKit engine
ü Optimized graphics powered by a custom 2D graphics library; 3D graphics based on the OpenGL ES 1.0 specification (hardware acceleration optional)
ü SQLite for structured data storage
ü Media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
ü GSM Telephony (hardware dependent)
ü Bluetooth, EDGE, 3G, and WiFi (hardware dependent)
ü Camera, GPS, compass, and accelerometer (hardware dependent)
ü Rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE
ü Multitouch Android has native support for multi-touch but the feature is disabled at the kernel level (possibly to avoid infringing Apple patents on touch-screen technology). An unofficial model has been developed that enables multi-touch, but requires superusers access to the device to flash an unsigned kernel.
Required Development Resources
As android is based on Dalvik Virtual Machine (a customized JVM) it does not support the full version of Java SE or ME. And hence it only reuses the language syntax and does not support the full class libraries and APIs incorporated in Java SE or ME.
Supported Operating Systems
  • Windows XP (32-bit) or Vista (32- or 64-bit)
  • Mac OS X 10.4.8 or later (x86 only)
  • Linux (tested on Linux Ubuntu Dapper Drake)
Required Software
· Java 5 or 6
· Android SDK
· Eclipse: Eclipse IDE for Java EE Developers, Eclipse IDE for Java Developers, Eclipse for RCP/Plug-in Developers are most recommended.
· Android Development Tools plugin (optional)
Here are a few useful links:

No comments:

Post a Comment