Rotational Forces, Part Three

Learn yet another approach to handling rotation events in your Android application, in the conclusion of our three-part rotation series, in today's episode of Building 'Droids!

Read More

Rotational Forces, Part Two

Learn another approach to handling rotation events in your Android application, in part two of our three-part rotation series in today's episode of Building 'Droids!

Read More

Rotational Forces…On Your Android App

Learn how opening the T-Mobile G1's sliding keyboard affects your Android application, in today's episode of Building 'Droids!

Read More

What’s Your Preference: Part Two

Does your Android application have more preferences than really fit in a simple list? Learn how to add structure, in the form of categories and screens, in today's episode of Building 'Droids!

Read More

iPhone and Android: Apples and Orchards

Android is less about open source or open communities or open markets or open systems, than it is about open opportunity. We need Android to succeed to ensure that open source, open markets, et. al. are a viable, not-too-crazy choice for people in the marketplace. This does not mean that ...

Read More

What’s Your Preference: Part One

Android now has a preferences framework, which will build a preferences UI for you based on a description of the desired preferences. Learn the basics in today's episode of Building 'Droids!

Read More

Op-Ed: We Have Met Android, And It Is Us

Device users don't buy "openness" – they buy benefits that they personally realize. And to that extent, Android will succeed or fail based on our efforts as developers. If openness is Android's strength, it is up to us to make that meaningful to ordinary people.

Read More

Maps, ItemizedOverlay, and You!

Learn how to create interactive maps using the ItemizedOverlay class from the Android 0.9 SDK in today's episode of Building 'Droids!

Read More

Layout Problems Redux: Hierarchy Viewer

In the previous Building ‘Droids post, we went through an exercise of figuring out what was going wrong with a RelativeLayout used as rows in a ListView. This exercise used “retro” diagnostic techniques, such as changing background colors, to see what’s going on. Two ...

Read More

Diagnosing Layout Problems

Yesterday, a post came over the transom on the [android-developers] Google Group, citing a problem in getting a RelativeLayout to work properly as a row in a ListView. Since I screwed up my initial response to that post, I figured I’d document and write up a blow-by-blow account of the ...

Read More

Fancy ListViews Redux: 0.9 SDK and RatingBar

You may remember way back when (e.g., July 2008) when Building ‘Droids featured a six-post series on creating fancy ListView implementations, culminating in a CheckListView widget that could be used as a drop-in replacement for ListView. They’re ba-ack! Specifically, today, ...

Read More

0.9 SDK Tips #1: The Hidden Changes

This is the first in a series of blog posts to help those of you with M5 applications make the jump to the 0.9 SDK. Also, if you see a tutorial dated before mid-August, that tutorial is from M5, and so these blog posts may be useful to help you translate the tutorials to the... Read More

Fun with Fonts

Inevitably, you’ll get the question “hey, can we change this font?” when doing application development. The answer depends on what fonts come with the platform, whether you can add other fonts, and how to apply them to the widget or whatever needs the font change. Android is ...

Read More

Flipping Your Views

Let’s face it: phones are small. Even if you have a phone with excellent screen resolution, the physical screen size is still rarely over 3″x5″, since most people want phones that can fit in a pocket, purse, pouch, or poncho. This means your Android activities can only display ...

Read More

Adding Tabs Dynamically

The TabWidget in Android is set up to allow you to easily define tabs at compile time. However, sometimes, you want to add tabs to your activity during runtime. For example, imagine an email client where individual emails get opened in their own tab, for easy toggling between messages. In this ...

Read More