Skip to Content

What is Android?

        Android is a software stack for mobile devices that includes an operating system, middleware and key applications. Developers can create applications for the platform using the Android SDK.

You can download the Android sdk from here. Eclipse plugin is available here.

         The API is extensive and comprehensive. It covers most of the mobile developer needs, including sensors (for accelerometer applications – iPhone like apps) and camera access. Also noteworthy is the android.os package that gives developers access to a lower level of tasks than what is usual in J2ME development. Here is a graphical overview of the platform.



The above architecture helps in achieving the following features which form the crux of mobile applications:


  • Openness

 Android is built on the open Linux Kernel. Furthermore, it utilizes a custom virtual machine that has been designed to optimize memory and hardware resources in a mobile environment.

Developers will be able to create compelling mobile applications that take full advantage of all a handset has to offer.

For example, an application could call upon any of the phone’s core functionality such as making calls, sending text messages, or using the camera, allowing developers to create richer and more cohesive experiences for users.

For Java developers, the most relevant information is about the Android Runtime:

Every Android application runs in its own process, with its own instance of the Dalvik virtual machine. Dalvik has been written so that a device can run multiple VMs efficiently. The Dalvik VM executes files in the Dalvik Executable (.dex) format which is optimized for minimal memory footprint. The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included “dx” tool.The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level memory management.

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.


  • Equal access to the phone’s capabilities for all applications

Android treats the phone’s core applications and third-party applications equally. They can all be built to have equal access to a phone’s capabilities providing users with a broad spectrum of applications and services.

Developers have full access to the same framework APIs used by the core applications. The application architecture is designed to simplify the reuse of components; any application can publish its capabilities and any other application may then make use of those capabilities (subject to security constraints enforced by the framework). This same mechanism allows components to be replaced by the user.


  • Breaking down application boundaries

Android breaks down the barriers to building new and innovative applications. For example, a developer can combine information from the web with data on an individual’s mobile phone — such as the user’s contacts, calendar, or geographic location — to provide a more relevant user experience. With Android, a developer could build an application that enables users to view the location of their friends and be alerted when they are in the vicinity giving them a chance to connect.


  • Fast & easy application development

Android provides access to a wide range of useful libraries and tools that can be used to build rich applications. For example, Android enables developers to obtain the location of the device, and allows devices to communicate with one another enabling rich peer-to-peer social applications.


With the release of the SDK, features and specifications for Android are slowly being released. Some of them I have mentioned below:


  • Handset layouts

The platform is adaptable to both larger, VGA, 2D graphics library, 3D graphics library based on OpenGL ES 1.0 specifications, traditional smartphone layouts.


  • Storage

SQLite – a powerful and lightweight relational database engine available to all applications


  • Connectivity

Android supports a wide variety of connectivity technologies including GSM, Bluetooth, EDGE, 3G, and Wi-Fi.


  • Messaging

Both SMS and MMS are available forms of messaging including threaded text messaging.


  • Web browser

The web browser available in Android is based on the open-source WebKit application framework.


  • Media support

Android will support advanced audio/video/still media formats such as MPEG-4, H.264, MP3, and AAC, AMR, JPEG, PNG, GIF. T


  • Additional hardware support

Android is fully capable of utilizing video/still cameras, touchscreens, GPS, compasses, accelerometers, and accelerated 3D graphics.


  • Development environment

Includes a device emulator, tools for debugging, memory and performance profiling, a plug-in for the Eclipse IDE


A lot of external services can be consumed from Android applications. Google has made it easier to integrate these services with the applications by providing specific APIs.

Some of these services are:

  • Location-Based Services

Location-Based Services (LBS) allow software to obtain the phone’s current location. This includes location obtained from the Global Positioning System (GPS) satellite constellation.


  • Google Maps

Android has capabilities to allow third-party code to display and control a Google Map. Users will have access to the normal map navigation functions such as pan and zoom—and developers can capture keypresses, draw overlays, and perform other view manipulations through code.

 Imagine a scenario where goods are to be delivered to a particular location. The delivery person’s phone’s current location is obtained from a GPS and is fed into Google Maps to locate him on the map instantly. The destination location is entered and the person then sees directions to reach the destination. Further he could actually see the street view to verify his position.


Have a look at these videos which demonstrates the maps feature along with other features:

Youtube – Android Demo 


  • P2P services using XMPP

Applications will frequently need to communicate between devices. For instance, you might wish to send messages back and forth between two devices, to implement a social application where you want to send a message to a buddy.

 One way to do this is to simply send an SMS message to the other phone. It’s possible to receive notifications of incoming SMS messages, inspect them to see if they contain data intended for your application, and then consume the message, preventing other applications (and the user) from ever seeing it directly. This works well, but it has two major down-sides: SMS messages can take several minutes to deliver, and they typically cost users money to send and receive.

 As an alternative, Google provides an API that passes messages between users. GTalkService includes presence notification, meaning that it provides a convenient way for phones to notify each other when they are online and available for message-passing. The response time is much faster than SMS, allowing for a more fluid user experience.


  • Other Google Services

Google intends to provide applications that help the end-user to access Gmail, Youtube and such other Google services in the future. APIs for these have been provided but have not yet been documented which suggests that the APIs are still under enhancement.


Android thereby can utilize a lot of services as mentioned above. But those who have read this blog very carefully would notice that Android also uses services for its internal processing. Yes Android is a Service-Oriented platform. Considering it’s provided by a services company that Google is, this was expected.


Android & SAP:

Thanks to Mr.Ignacio Hernández we can also connect an Android application to an ECC system.

Refer:  Android and SAP NetWeaverAndroid and SAP NetWeaver

We could all have helpful mobile applications like the one presented by Mr. Paolo Romano for Health Care.


Now, consider the following scenario related to Sales operations:

A sales executive creates a sales order in the ECC system directly from his mobile phone. This leads to an automated sms sent to the delivery person along with the delivery location which he feeds in the Maps application to get the directions as I discussed above.

This scenario is now much easier to develop, thanks to Android.


The contents of this blog have been compiled with references from and

To report this post you need to login first.


You must be Logged on to comment or reply to a post.

  1. Hi,
    I am really impressed with the Android SDK. I have been tinkering with the SDK for some weeks and it has bowled me over. Android Challenge has puished its popularity among the developers to a great extent. In my opinion, G-Phone will surely outplay I-Phone, in less than a year after its launch.


    1. Mayuresh Kanvinde Post author
      I second that, Bibek. Android is surely going to be a king when it get into the market, by the current on-goings. But there a some bugs in its security which I think Google will solve till the first Android phone is launched.

      As for the G-phone, its just not gonna be. Android has taken its place. That’s what Google video says. Check the link for it in the blog.

      Thanks and regards,

  2. Hi,

    My application for the chamllenge is 90% ready. Still two weeks to go, and I guess I will be submitting my app in time. It needs some fine tuning .

    I have had a terrible 2 months. But the Android forums were very very helpful. By interacting with them, some of them were from Google Android team as well, I realized that, the SDK is still in its young days. And whatever I needed for my application, not all features were available. I had to find so many workarounds and ended up writing 15 classes, with an average of 150 lines of code for each class. Morever, with some APIs such as XML transform, I am not sure, how efficiently my code will perform on a real device.

    But that part is over. Now I am eagerly waiting for the results. 🙂 Not that I have very high expectations….



Leave a Reply