Archive for February, 2012

Background Tasks – Part 3

Friday, February 24th, 2012

Previously we looked at using standard threads to keep things off the UI thread and also covered various mechanisms for getting execution back on to the UI thread for when we need to update View objects. However our code was beginning to get quite messy with us having to define lots of Runnables in order to switch execution between threads. In this article we’ll look at AsyncTask which provides a much cleaner mechanism for updating Views.

Background Tasks – Part 2

Friday, February 17th, 2012

In the previous article in this series we looked at the UI thread and explored the reason why it is important that we keep any slow, intensive, or blocking tasks off the UI thread. In this article we’ll begin exploring the tools available to help us to achieve that.

Background Tasks – Part 1

Friday, February 10th, 2012

Regular readers of Styling Android will understand that it is dedicated to improving the look & feel (UI) and User Experience (UX) of Android apps. One particular area in which we can really frustrate our users is when the app does not respond to their touches / clicks, and it is vital that we keep our app as responsive as possible. I use the term responsive in the context of responding to the user’s actions and not as it is often used in the phrase “Responsive Web Design” to describe how your presentation adjusts to the display. In this series of articles we’ll have a look at some useful techniques for keeping your apps responsive.

VerticalText – Part 2

Friday, February 3rd, 2012

In the previous article in this series we began looking at how we can creat vertical text on Android. When searching for a solution to this problem I found was another approach that appealed to me because it is just plain sneaky! Also, it uses a vanilla TextView control and doesn’t break any of its standard behaviour, as far as I’m aware. I wasn’t able to find any sample code which met my requirement so, once I understood the concept, I was able to create my own implementation.