Tip

Chasing Android: Notes on developing for the mobile platform

There is a good chance the Android operating system for mobile devices can intrude far into the area currently occupied by operating systems such as Windows on the desktop. For one thing, it is service oriented. Moreover, as people spend more time online with Android they will push for more rapid release cycles with ever increasing capabilities. Android gives developers the tools to fill these needs.

    Requires Free Membership to View

Android is an open-source operating system/platform intended for mobile devices and sponsored by Google. It features applications written in Java with security precautions designed to allow a variety of different applications to live on the same device without exposing user information. Android is also notable for being designed to support an ever increasing variety of hardware functions. The operating system presents a very favorable environment for both hardware and application developers because it is open source and Android's low level kernel is based on Linux.

When I first looked into developing for the Android platform a year ago, the version I downloaded was 1.5r2. New versions have followed much more frequently than any other technology I can recall, which might lead you to wonder, how can any developer keep up?

The following table of versions shows the API number associated with each. Where rev (revision) numbers are shown, that is the July 2010 SDK revision number. The API number is essential because in Android application packages, the developer must specify the API number it is designed for. API 5 and API 6 are no longer updated because everybody using version 2 should be moved to 2.1 (which uses API 7)but APIs 3 and 4 continue to be updated as various improvements in software development kit (SDK) tools are introduced and bugs are fixed.

One indicator of the population of devices using each version is provided by statistics collected at the Android Market. The following table includes statistics from the first two weeks of July, 2010. Clearly, the older phones still constitute a significant market. Practically all products running versions 2.0 and 2.0.1 were rapidly upgraded to 2.1. I was surprised to see how large the 2.1 market is already.

Version First
Released
Updated Recent Market
Connections
1.5 API 3 rev 4 Apr/2009 May/2010 18.9%
1.6 API 4 rev 3 Sep/2009 May/2010 22.1%
2.0 API 5 Oct/09 to 2.0.1 trace
2.0.1 API 6 Dec/09 to 2.1 trace
2.1 API 7 rev 2 Jan/2010 May/2010 55.5%
2.2 API 8 rev 2 May/2010 Jul/2010 3.3%%

API version and Features

Fortunately, it is not the underlying language which is being changed in this rapid sequence of releases. Instead, Java classes are being added in order to cope with the new hardware support and to support the new built in applications with new capabilities. Only a few user interface related APIs have changed and few classes have been deprecated. Generally, applications written for version 1.5 should be forward compatible with the latest 2.2.

Here are the most significant changes from version 1.1 (February 2009):

  • 1.5 API 3 Multiple improvments to user interface design tools, media handling for audio and video recording and playback. Support for speech recognition. SDK has emulators for screens up to 320x480.
  • 1.6 API 4 Support for multiple screen sizes. Graphics improvements include animation and support for recognizing gestures. Synthesis of speech from text. Short Message service (SMS) support. SDK has emulators for screens up to 480x854 pixels.
  • 2.0 API 5 This major upgrade adds many new standard applications and features. Able to track up to three simultaneous screen touches. Support for Microsoft Exchange email and contacts with an API for sharing of contact information between applications. Graphics performance and virtual keyboard support are improved. Support for Bluetooth connectivity.
  • 2.0.1 API 6 Mainly bug fixes to version 2.0.
  • 2.1 API 7 Mainly bug fixes to version 2.0.1.
  • 2.2 API 8 This is a major upgrade in the Java engine with speed improvement by a factor of 2 to 5. JavaScript performance in the browser is also greatly improved. The browser has improved HTML5 support including video streaming, and can install the Flash Player plug-in. Integration with Microsoft Exchange is improved.
  • Version 3 - We see a variety of speculation on the next major version, expected in the 4th quarter, but there has been no official announcement.

The Developer Ecosystem

The Android SDK package you download from

the developer website only contains a fraction of the total SDK environment. The most important part of the initial download is the SDK Manager which lets you update the tools for exactly the components you need. For example, if you only expect to develop for the 2.1 (API 7) edition, that's all you need to download. Support material for each API is saved in its own directory structure so if you decide to later add version 2.2, it will not interfere with the 2.1 tools and documentation.

Given the rapid changes in release numbers, keeping documentation up to date is vital. Google appears to be doing a very good job of this, both in the documentation downloadable in updates, the online cross-referenced pages and developer blogs.

This was first published in July 2010

There are Comments. Add yours.

 
TIP: Want to include a code block in your comment? Use <pre> or <code> tags around the desired text. Ex: <code>insert code</code>

REGISTER or login:

Forgot Password?
By submitting you agree to receive email from TechTarget and its partners. If you reside outside of the United States, you consent to having your personal data transferred to and processed in the United States. Privacy
Sort by: OldestNewest

Forgot Password?

No problem! Submit your e-mail address below. We'll send you an email containing your password.

Your password has been sent to:

Disclaimer: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.