Friday, 21 February 2014

Introduction to Android

Android is the world's most popular operating system for mobile devices and tablets. It is an open source operating system, created by Google, and available to all kinds of developers with various expertise levels, ranging from rookie to professional.
(Well, open-source means software with source available for modification and bound to an open sourec licence agreement.)

From developer's perspective, android is a Linux-based operating system for smartphones and tablets. It includes a touch screen user interface, widget, camera, network data monitoring and all the other features that enables a cell phone to be called a smartphone. Android is a platform that supports various applications, available through the Google Play Store. 

Like most software , Android is released in versions. Google has also names to it versions since April 2009. Below are all the version of Android released to date :  


Android Version Update


                                    

Android Architecture

To begin with development on Android even at the application level, it is paramount to understand the basic internal architecture. Knowing how things are arranged inside helps us to understand the application framework better, so we can design the application in a better way.
Android operating system is a stack of software components which is roughly divided into five section and four layers as shown in the architecture diagram.



Android architecture


Linux Kernel

The Android OS is derived from Linux Kernel 2.6 and is actually created from Linux source with approximately 115 patches, complied for mobile devices. This provide basic system functionality like process management, memory management, device management like camera, keypad, display etc. The kernel acts as a Hardware Abstraction Layer between hardware and the Android software stack.

Libraries

This layer holds the android native libraries. These libraries are written in C/C++ and offer capabilities similer to the above layer, while sitting on top of the kernel. A few of the major native libraries include
  • Surface Manager
  • System C Libraries
  • OpenGL ES Libraries
  • SQLite

Android Runtime

This is the third section of the architecture and available on the second layer from the bottom. This section provides a key component called Dalvik Virtual Machine(DVM). It is basically a virtual machine for embedde device, which like any other virtual machine is a bytecode interpreter. when we say it is for embedded device, it means it is low on memory, comparatively slower and runs on battery power. The Dalvik VM makes use of Linux core feature like memory management and multi-threading, which is intrinsic in the Java language. The Dalvik VM enables every Android application to run its own process, with its own instance of DVM. 
The Android runtime also provides a set of core libreries which enable Android application developers to write Android applications using standard Java programming language.

Application Framework

This is the fourth section of the architecture, which application developers can leverage in developing Android application. The framework offers a huge set of APIs used by developers for various standard purpose, so that they don't have to code every basic task.

Application

You will find all the Android application at the top layer. You will write your application to be installed on this layer only. Examples of such application are Browser, Games etc.

No comments:

Post a Comment