Fastboot on the BeagleBone Black

When I first saw the BeagleBone Black, it was a no-brainer instant buy.  An open platform, powerful enough to run Android effectively, for under $50, with an onboard eMMC for storage!  That last piece was the prime driver.  Basically every platform out there today (even those used in many production devices) rely on an external […]

TextDrawable: Draw Some Text!

You can find the full source code for TextDrawable and the sample project on GitHub. The Drawable framework in Android is a neat and really flexible way to create portions of your UI.  Many times have I been able to simplify the view hierarchy or required resources just by getting creating with what a Drawable […]

Efficient Multi-Screen Resource Selection

Since its inception, one of the key elements of the Android platform has been the tools provided in its resource framework to select appropriate assets tailored to the user’s device type. Over time, this system has been added to here and there to include differentiators for different screen sizes, resolution densities, presence of different hardware […]

TextView Inner Shadows with EmbossMaskFilter

A common request from designers that I work with is to draw text in an application that contains an inner shadow. An example of what this looks like is provided below (top un-styled, bottom with shadow added): Basically we’re talking about a shadow that appears inside the drawn text, rather than slightly outside it.  The […]

Monitoring EditText Sessions

Something that has bothered many Android developers (including myself) since the dawn of the soft keyboard is having a way to track the simple event of when a user is done editing the text in a text field.  Depending on your application, there may be actions you need to take when a user has completed […]

Simplifying Interaction with Contacts

With the introduction of the new ContactsContract to replace the previous Contacts API in Android 2.0, came a drastic increase in both functional capability and API complexity for applications wishing to interact with the Contacts Provider.  This level of access allows applications to make very detailed and specific additions and updates to the Contacts/People database […]

A Developer’s Adventures in Rooting

When I started developing applications for Android in early 2009, I never expected that I would ever own a rooted device.  I felt that, as a developer, I needed to be testing my applications in an environment that best emulated my users, and rooting would compromise that environment.  However, recently I have been forced to […]

Synchronizing ScrollView

Recently, a post was made by Kirill Grouchnikov on his blog providing details on how the Android Market app uses a synchronized scrolling technique to take a certain view from inside the ScrollView content and let it float to the top of the screen when it would have otherwise been scrolled off-screen.  This post is meant […]

Multiple Clickable Zones in ListView Items

Developers often have a need to create rows in a ListView that have multiple interactive locations that the user can touch, instead of just one single clickable row.  This is a pattern that even Google has employed in apps like the DeskClock. DeskClock’s Alarm tab display each list item with a small toggle button inside, […]

Manufacturing Unique R.id Values

If you have been developing in Android for any length of time, you’ll most likely be aware that one of the most useful portions the resource framework is the fact that Views and other resources can be given an android:id tag in their XML declaration, and Android will make sure to compile all the ids […]