Free Newsletters
InfoWorld Daily

InfoWorld
Log-in | Register

Test Center preview: Inside Google's mobile future

The Open Handset Alliance's Android SDK for creating mobile applications throws a few semantic curves at Java developers, but for the most part, they will feel at home; just be prepared for some rough terrain, and be sure to bring plenty of hardware


However, you are not tied to Eclipse as your Android development system. The Android SDK does provide tools that let you use other IDEs in place of Eclipse. For example, the IntelliJ IDE is mentioned specifically in the Android documentation.

 The Bottom Line

Android Software Development Kit
The Open Handset Alliance, google.com/android/

Beta  

Cost:
Free under the Apache Software License, version 2

Platforms:
Supports Eclipse 3.2 or 3.3 IDE on Windows XP, Windows Vista, Mac OS X 10.4.8 or later (x86 only), and Linux; JDK 5 or JDK 6 required

Bottom Line:
The Android SDK is a wonderful example of what can be done with open source applications and tools. When the SDK's parts work, they work reasonably well. However, at this point, would-be Android developers must be willing to assist in debugging the development platform itself; it's still pretty rough. Android's single best characteristic is prime mover Google. Whether that is enough weight to ensure Android's success remains to be seen.

About our Reviews and Scoring Methodology

Hard-core developers will be satisfied to work solely with the collection of command-line tools that come with the SDK. For example, the activityCreator tool -- which is provided as a batch file for Windows, and as a Python script for Mac and Linux users -- will construct the framework for an Android Activity. (Activity is the Android equivalent of an application; more on this later.) Executing activityCreator will build skeletal Java files, create the Android project's required subdirectories, and build the necessary manifest XML files. The tool also creates an Ant script file for compiling the source and building the application. Once built, the application can be launched via the SDK's adb tool, the Android debug bridge.

Other command-line tools in the SDK include logcat, which outputs a log of system messages. Thanks to the stack trace provided by logcat, it is useful whenever an error occurs on the Android emulator. If you need deep analysis of what is going on in errant code, you can import a special Debug class into your application. This class provides methods for starting and stopping execution traces. When activated, Debug will log method calls to a trace file, which can be examined later with the toolkit's TraceView application. From within TraceView, you can view thread interactions, as well as examine execution paths. TraceView also shows the amount of time spent in each method, so you can use the tool as an execution profiler.

Finally, there is the Android emulator itself. When started, the emulator displays the skin of a hypothetical android device, complete with specialized faceplate buttons and QWERTY keyboard. It does its best to mimic an actual device, though there are understandable limitations (it cannot, for example, take incoming phone calls). The Android emulator runs a modified version of Fabrice Bellard's excellent open source simulation/virtualization environment, QEMU (see my review, "QEMU simulates with style"). Android's version of QEMU simulates an ARM processor, and on that processor executes the Linux OS.

Working with Eclipse
Once the Android Eclipse plug-in is installed, building an Android application is much like building any other application. The plug-in adds an Android Activity project to Eclipse's project templates tree. Start a new project, and the plug-in builds the foundational Java files, creates the necessary folders, and constructs skeletal resource files.

This screen image shows the Android Notepad executing from within Eclipse: The Eclipse IDE (foreground) launches the Android emulator (background), and transfers the application for execution. Status messages tracking execution progress appear in the lower-right console window.

The Eclipse plug-in handles compilation, conversion to dex, launching the emulator, and downloading the application. Because writing Android code is writing Java code, the editor behaves as it would were you constructing an ordinary Java application. Resource files, which are written in XML, are easily managed by XML editors already available in Eclipse. Debugging is likewise supported from within Eclipse, and Android opens a debug perspective that anyone already familiar with Eclipse will be comfortable with.

Rick Grehan is contributing editor of the InfoWorld Test Center.
Continued
« PREVIOUS PAGE | 1 | 2 | 3 | NEXT PAGE » 


Talkback:

commentPost a Comment

 

MOST COMMENTS

 
 





MIGRATING TO VISTA
Join Windows Vista Expert, Richard Whitehead as he presents the benefits and challenges of migrating to Windows Vista. Sponsored by Novell

»  Click here to view this Webcast
  WAN Emulation Sponsored Solutions Guide
WAN emulation technology enables IT organizations to predict reliably how applications will perform in a networked environment, before application rollout, mitigating development risk and costs.This Sponsores Solutions Guide has everything you need to now about WAN emulation and WAN and how to best implement it in your organization. Sponsored by Shunra

»  Click here to download now

- Special Advertising Partners -
WHITE PAPERS
 

» Technology White Papers Library

Technology White Papers by Topic

Technology White Papers E-mail Alert

Find out when the latest white paper is available:
 
 
INFOWORLD MARKETPLACE
 
» BUY A LINK NOW
 
 

Video

 
 
 

Podcasts

 
IFW Daily 10/10/2008

A look back at the week: AMD splits into two, Panasonic sets world record...

 
 

 

Columnists

 
 
 

Resource Center


Ads by techwords beta  [See your link here]
 




Sponsored Technology Links

 
 
 HOME  NEWS  BLOGS  PODCASTS  VIDEOS  TECHNOLOGIES  TEST CENTER  EVENTS  CAREERS   About | Advertise | Awards | RSS | Contact Us 

Copyright © 2008, Reprints, Permissions, Licensing, IDG Network, Privacy Policy, Terms of Service.
All Rights reserved. InfoWorld is a leading publisher of technology information and product reviews on topics including viruses,
phishing, worms, firewalls, security, servers, storage, networking, wireless, databases, and web services.

CIO :: ComputerWorld :: CSO :: Demo :: GamePro :: Games.net :: IDG Connect :: IDG World Expo
Industry Standard :: IT World :: JavaWorld :: LinuxWorld :: MacUser :: Macworld :: Network World :: PC World :: Playlist