What is Android?
Android is a software environment and not a hardware platform, which includes an OS, built on Linux kernel-based OS hosting the Dalvik virtual machine.
The following diagram shows the major components of the Android operating system.
Applications: 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.
Application framework enabling reuse and replacement of components. Android offers developers the ability to build extremely rich and innovative applications. Developers are free to take advantage of the device hardware, access location information, run background services, set alarms, add notifications to the status bar, and much, much more.
Dalvik virtual machine optimized for mobile devices. Every Android application runs on its own Dalvik virtual machine and developed applications are not subordinate to built-in applications.
Libraries: Android includes a set of C/C++ libraries used by various components of the Android system.
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 is used for structured data storage.
Media Framework is based on PacketVideo's OpenCORE. It provides media support for common audio, video, and still image formats (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF).
System C library is BSD-derived implementation of the standard C system library (libc), tuned for embedded Linux-based devices.
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 rasterizer
FreeType - bitmap and vector font rendering .
Linux Kernel: Android relies on Linux version 2.6 for core system services such as security, memory management, process management, network stack, and driver model. The kernel also acts as an abstraction layer between the hardware and the rest of the software stack.
What programming language supported by Android for application development?
Android applications are written in the Java programming language.
Is there any Application Development Environment?
Android provides a rich development environment including a device emulator, tools for debugging, memory and performance profiling, and a plugin for the Eclipse IDE. Eclipse IDE is being used to develop the android application after installing plugin. You can found more information on this link.
Download the Android SDK: http://developer.android.com/sdk/index.html
ADT Plugin for Eclipse: http://developer.android.com/sdk/eclipse-adt.html
What is AVD?
AVD (Android Virtual Device) is an emulator which actually contains the specific Smartphone OS . This is convenient if the developer does not have a device of their own. Every version of Android has a different Android Virtual Device (AVD) which you have to set up first. The general idea is to develop to the lowest Android version possible, to get the developed application as accessible as possible to a wider range of Android users.
What is the current version of Android?
Currently android 4.0 is in the market. API level for this version is 15. However for development purpose, version 2.2 and 2.3(known as Gingerbread) is being used widely as most of the mobile devices are based on these version.
That’s the brief introduction about Android. For more details you can visit the official site http://developer.android.com/index.html.
In the next article we will explore the Application development fundamentals.
6. February 2012