Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.

Channels ▼

Web Development

The Android 1.5 Developer Experience

On the heels of my Android Developer Experience article, Google released a major update to its Android mobile operating system in late April 2009. Version 1.5 corrected a number of shortcomings with the initial launch of the OS along with providing some exciting new enhancements.

A number of additions have been included in the 1.5 release to not only bring it to parity with its closest technical competitor, the Apple iPhone, but also to exceed the iPhone's capabilities in key hardware feature sets. Some of the most notable improvements include:

  • Onscreen soft-keyboard that rotates in both portrait and landscape mode, just like the iPhone's touch screen keyboard.
  • A2DP support for high quality stereo Bluetooth audio reproduction.
  • Camcorder application and API for capturing 15 fps videos with the ability to save, email and directly upload to YouTube.
  • AppWidgets and its associated API designed to expose and extend dynamic application functionality to the Android desktop.
  • Live Folders provide dynamic shortcuts to application data like contact lists, video file inventory, emails, documents and more.

Additionally, there are a number of other improvements peppered throughout the existing API's as well as the SDK and Eclipse plug-ins. For example, the new SDK allows the easy creation of profiled Android devices, running a particular version of the OS (1.0, 1.1 or 1.5) or allowing for the automatic creation of a virtual SD card up to 64 MB in size. Such an operation in earlier SDK's was an error-prone chore but the 1.5 SDK release via the version 0.9.1.v200905011822-1621 Android Development Tools and Editors add-ons transform this into a simple painless dialog box.

Figure 1: Setting up an Android emulator profile.

Design-time form rendering is also now available While one can still not ‘paint' a form by dragging and dropping controls onto a design surface, the updated Eclipse Android editor plug-ins accurately pre-render the layout XML code. This considerably speeds up development time, though until a robust design-time layout editor is fully baked into the Eclipse plug-ins, an external designer like the free DroidDraw is still quite helpful and sometimes even necessary.

Figure 2: Rendering a Android form in the Layout View

No More Root for You

Android Developer Phone users will have an unfortunate surprise waiting for them after they download the 1.5 radio and system images from HTC. For developers and their unlocked developer phones, Google also chose to bow to the pressures of the mobile telecoms by removing local root access. As such, the section of my original article covering the ability to su to root-level file access no longer applies when running 1.5. The only legitimate way to gain root-level access to the file system in the 1.5 release is to tether the developer phone to a Apple OSX, Linux or Windows desktop running the Android SDK, executing the adb shell command from a terminal window and then su'ing from that connection. While Google claims it removed root access on the phone for security reasons, it seems obvious to me that they did so in response to hacks that were appearing in the Android Marketplace (like the WiFi Tether for Root Users application) that effectively transformed the phone into a WiFi access point. While I can understand the business reasons for Google appeasing the telecomms, this does prevent legitimate uses of root access (i.e., killing hidden and/or unauthorized background application processes). It also backpedals on Google's marketing of Android as a truly open, developer-friendly platform.

If Google wanted to advise secure practices while appeasing the developer community, it could have instead simply added a adb switch (ex: tether the phone to a SDK-enabled PC, open a terminal window and execute something like a adb unlock command) to open the phone's root access back up if the developer required it. Alas, at least for the 1.5 release, the only other way to obtain root access on the phone is to load a recompiled, unsigned and unsupported kernel such as the ‘netfilter-enabled' kernel the developers of the WiFi Tether for Root Users compiled, available Stickcam, Ustream, and others come to mind.

Related Reading

More Insights

Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.