Jan 17, 2013

Introduction To Android

What Android is all about? 


Introduction To Android
Android is the world's most popular mobile platform developed by Google in conjunction with Open Handset Alliance, a consortium of 86 hardware, software, and telecommunication companies committed to promoting open standards for mobile devices. Android, Inc. was founded in Palo Alto, California, in October 2003 by Andy Rubin, Rich Miner, Nick Sears, and Chris white. Android Inc was later acquired by Google on August 17, 2005, making it a wholly owned subsidiary of Google.

Today there are hundreds of android devices ranging from Mobiles, Tablets and Smart TVs. According to the Director of Android Product Management Hugo Barra about 400M devices were activated in 2011. Today about 1000,000 devices activated every single day, that is about 12 Android devices every second of every day!

Android version history 


1.0 Astro
1.1 Bender 
1.5 Cupcake 
1.6 Donut 
2.0/2.1 Eclair
2.2.x Froyo 
2.3.x Gingerbread 
3.x Honeycomb 
4.0.x Ice Cream Sandwich 
4.1.x Jelly Bean 

Android architecture  


Android is not Linux, it uses Linux kernel which very small portion of the platform. The kernel consists of several device drivers such as display, Bluetooth, camera, audio, WiFi...etc. On top of the kernel, there exist the Android specific libraries which were written in C++. These libraries consists of Surface Manager, Media Framework, SQLite, Web-kit, SSL...etc. The Android run time contained some core Android libraries which runs by the Dalvik virtual machine. Dalvik is a register based virtual machine, optimized for mobile devices dealing with issues such as: process isolation, memory management and threading support. contrary to Java Virtual machine which is stack based virtual machine. The class file is compiled into the bytecode, the bytecode is different from the traditional Java bytecode, instead, transforms the Java Class files of Java classes compiled by a regular Java compiler into Dalvik Executable called the Dex file(in .dex format).

Android Applications Development


Android applications are primarily built in Java programming language with Android specific software development kit (SDK) . Eclipse is the most used IDE for Android development using the Android Development Tools (ADT) plugin. Others like IntelliJ and Netbeans  can also be used. There is also an NDK (Native Development Kit) that provide a low level programming and extensions in C or C++ for performance critical projects. Using the NDK is not always recommended as it always increase development complexity and some times with no noticeable performance.

Android use OpenGL ES in 2D and 3D graphics programming apart from the native Android graphics libraries. The OpenGL ES APIs provided by the Android framework offers a set of tools for displaying high-end, animated graphics that are limited only by your imagination, taking advantage from the acceleration of graphics processing units (GPUs) provided on some of the  Android devices.

Renderscript is also a C99 based platform-independent computation engine that operates at the native level. It is used to accelerate applications that require extensive computational horsepower.  It provides the developer with a general purpose compute API across different system computing hardware, and developer friendly compute API similar to CUDA or GLSL. Renderscript is  supported in API Level 12 (Honeycomb) and above.

Google Play, formerly known as the Android Market, is a well desgned digital application distribution platform for Android applications and media, developed and maintained by Google. The service allows users to browse and download applications, magazines, books, movies, television programs, and music that were published through Application developers and Google partners.

No comments:

Post a Comment