id: 101 View:category
Tutorials Legacy  Tools


When Google releases a new SDK it intentionally does not provide skins for any particular handset models.

This is to emphasise the fact you are writing for a platform, one which has many particular implementations. However, it's really nice to have a skin for a handset you are interested in if for no other reason than to reassure yourself your app really does look good on it!

For a while there was no Nexus One skin, and then Tim Hoeck added one to his blog. Following the recent release of the Android 2.3 (Gingerbread) SDK it was proving a little tricky to find one for the Nexus S, so we present ours here along with the steps needed to start making use of it. Together with the Gingerbread SDK, this amounts to a free (virtual) Nexus S!

BuildInfo A funny thing happened when I wrote my last app - a basic, local data-driven system which was entirely self contained. Some of the testers reported something odd - it asked for the permission to make phone calls on installation. Since I knew there was nothing in the app which did that, and I'd only added the android.permission.INTERNET requirement to the manifest, I knew I had to get rid of this warning. In this security-conscious climate, any app which asks for something so far out of whack with its obvious purpose probably isn't going to be installed, and all that hard work will have been for nothing.

So what gives? The answer was rather subtle, and in solving it I came up with a useful tool which went beyond the original problem I was tackling, so I thought I'd document it here in case anyone else runs into it.

Android sensor playerWhen developing apps which use the sensors, the more realistic the environment for testiing the better. The earlier SensorArrow tutorial showed how to create an app which uses the OpenIntents simulator to let you send events via a wireframe handset representation. This is great, and extremely useful in many situations, but it has some drawbacks. To complement it we present the SensorPlayer, an app to record and sensor movements from your physical device and replay them either back there or on the emulator.

120x120-loggingWhen your application is running, how can you tell exactly what it's doing at any time? After it has finished, how can you tell what it did during the run? If you are hunting down elusive bugs, you need all the tools you can get, and right up there with the interactive debugger is the logger. Google recognizes its importance and have done the one in the Android Eclipse plug-in sufficient justice. We will show how to set up our application for logging, perform some test runs and further refine our logging system to cut out the noise and focus on only the areas of our application we're interested in.