Google

Thursday, January 23, 2014

BASICS OF ANDROID

To learn how to develop a Mobile Application using Android, We need to first understand the basics of Android. This and the following few posts will provide a guide or tutorial for Android mobile app development.

Overview of The  Android Stack 

The Android is a platform which support mobile devices such as phones and tablets. It has several layers that manage everything from sensors to the applications you see on the screen (and the android app that you are going to develop).

Shown below is a representation of Android stack

android stack diagram
The Android System Stack

Android has:
  • LINUX KERNEL as the bottom layer
    • which provides the operating system services.
  • THE SYSTEM LIBRARIES and the ANDROID RUNTIME SYSTEM above it
    • C/C++ libraries that make many operations easier for the programmer and also help improve performance
    • ANDROID RUNTIME : JAVA libararies and the Dalvik Virtual Machine (Explained below)
  • next up is a rich APPLICATION FRAMEWORK
  • and  at the top of all these the APPLICATIONS that we use. This is the interface of the USER and the rest of the android system
THE DALVIK VIRTUAL MACHINE (DVM)
Android programs are generally written in JAVA. However they are not executed bythe JAVA virtual machine. They actually run on the Dalvik Virtual Machine. 
Applications programmed in JAVA are compiled using a JAVA compiler to generate the JAVA byte code. In order to make it executable in the DVM, the JAVA bytecode is converted to a DEX format using appropriate tools. This DEX code, with other packages of the application, is installed on the target device and when run, it is executed by the Dalvik Virtual Machine. 
WHY DVM and NOT JVM?
JVM is not designed to run on mobile devices where resources like CPU, memory and power are limited. DVM is particularly designed for this purpose. Hence while developing an Android app, the developer has to worry less about the constrained resources.
Next,  Let us have a closer look at the android application framework.

Hope this Android Application Development tutorial is helping. If not, please lets us know.

Do you have Questions? Arguments? doubts?... we'll try our best to resolve
Provide us with valuable Suggestions / Ideas / or clues... 
Please leave us a comment 

No comments:

Post a Comment

Have a suggestion or feedback... Please take a minute to tell me your opinion