How do you rate this blog

Monday, September 26, 2011

Setting up of Development Environment


Before we jump on to the driver seat let me tell you the anatomy of the Android. The following are the components of an android application –

1) Activity – Every screen on your mobile can be called as an activity. This will be an extension of the     Activity base class.
2) Services-Services are like back stage people which will help in the working of an application.
3) Content Providers -  Sometimes applications need to share data with other applications like your custom made app may require accessing data from the contacts, this is made possible with the help of content providers. The content provider provides a class through which applications can send or receive data.
4) Intent- When an application wants to share data or information from screen to another it uses Intents.
5) Broadcast Receivers- These are used to make your application perform specific activities when certain events occur. For example, on receiving a particular kind of sms you might want your application to start.


Now that we know what an application consists we are in a better position to create it. Android requires the following software’s to be installed on your system

1) Java – You will require Java 1.6 and above, you can download the Java in the following location SDK 
2) IDE – You will require Eclipse IDE for developing the android application Eclipse IDE
3) Android SDK – You can download the SDK from the and set up the android development environment as described in the following link – Android SDK
The system requirements of android is provided in the following link – System Requirements

Android Basics

 Well we all had the chance to develop applications in web based platforms and we always wanted similar kind of freedom to develop our own apps on the mobile. Google did it and it came as a fresh air to all developers. So what is Android, “Android is an open mobile phone platform that was developed by Google and, later, by the Open Handset Alliance”.  In short it provides operating system, middleware and application layer.

 The following are provided in the Android Software Stack

1)  Linux Kernel – This layer provides the abstraction between the hardware and rest of the layers. It also provides core services like hardware drivers, memory management, security, network etc.

2) Linux Libraries- This layer sits on top of the Linux kernel and it includes various libraries of C\C++.

3) Android Run Time – This layer is the engine which powers the applications along with the core libraries. There are two major components here they are

a) Core Libraries – Android provides almost all the features which are provided in Java as well as some android specific libraries.

b) Dalvik Virtual Machine – This is a virtual machine which is a registered based which ensures the device can run multiple instances efficiently.

4) Application Framework – This layer provides the classes used to create android applications.

5) Application Layer – This layer has all the applications which are provided by natively (google maps, browser etc) or developed by you using the API libraries



Now let us have a look at Android Application Architecture –

1) Activity Manager – Before learn about Activity manager we need to know what an activity means. An activity is usually each screen on your application. Each activity is built as a single class which will extend the activity base class.
          The activity manager manages the life cycle of your activities.

2) Views – A view is a data structure whose properties stores the layout and content of a particular activity. In short it is used to build the user interface for your activities.

3) Notification Manager – It is like a service which does not require UI and will be running in the background. SMS service, media players are good examples of Notification managers.

4)  Content Providers – Sometimes applications need to share data with other applications like your custom made app may require accessing data from the contacts, this is made possible with the help of content providers. The content provider provides a class through which applications can send or receive data.

5) Resource Manager – Supports resources like strings, graphics etc which need to be externalized.


In the next post will be covering the basic building blocks of android with simple example of an android application. Well for a change its not going to be hello world ;)

About this Blog

Hi All, I am new to Android and wanted to share my android experience with all of you. I will be posting posts which will help you to learn android. If there are any short comings please let me know so that even I will learn :). Happy learning and sharing :).