
Hi there, My name is Stephen and I’m a final year UCD Computer Science student and one of the new Android interns at MercuryGirl Inc. Having been developing for the last six months or so on Android, I’d thought I’d throw in my two cents on what developing for this platform is like.
The Good
- Android is all about Java: the entire SDK is written in a slightly modified flavour of Java. If you have written a normal JRE class, it’s effortless to slot it into your existing Android project. Studying in UCD means you get a firm grounding in Java, so writing for Android comes fairly naturally to me.
- Eclipse. In short, I’m a big fan. It’s available on virtually any platform you care to mention (*cough* X Code *cough*), has some great extensions & plugins, allows for multiple workspaces and integrates nicely with Android.
- DDMS. A view (see screenshot below) in Eclipse which details what’s going on inside either the emulator or the physical phone at any moment in time. It can tell you what processes are running, what the state of the file system is in, what threads are running and a system printout. You can attach debuggers to find where you’re going wrong (usually multiple places with my code!) and view multiple emulators/phones running at the same time. It’s a very useful resource and simple to use.

- ID’s for resources. When creating a layout, you can reference any image with a unique id. This makes things a lot easier than say, writing out an explicit filepath and crossing your fingers that the file is there on startup. With Eclipse, you can easily tell if a resource you’ve called actually exists which can be very useful when you use a fairly (read: EXTREMELY) illogical naming system for images.
- Online support. While the online SDK is great for quick references there are times when you just have to say “how the hell do I call that method” or “why won’t it let me do that?!”. At these times your best bet is to search the Android group forums and see if you’re query has been previously addressed. The sample programs which are also on the SDK website are a great help as well.
The Bad
Let’s skip to the just plain ugly because these issues REALLY grind my gears.
The Just Plain Ugly
- Assets. This is a folder which allows you to package files with your application such as mp3s or videos. They’re stored in the application’s own directory upon installation and can be accessed by creating an Asset Manager. But that’s the problem, there’s only access to read these items, no writing to them! An application I’m currently writing requires the use of two text files to write and store configurations – pretty basic and you would have thought you could keep these files in the application’s own directory. Wrong! I have to resort to creating these files on the SD card (if the phone has one) to be able to write to them. Come on guys, surely you could allow access to writing to text files in the phones own directory!
- Very limited configuration scope. In Android, you can set program configurations using a native class. However this is of very limited scope – you can only give each configuration an ID and a boolean (true/false) value. Surely the Android team could give this class more fields such as a strings or integers to store as well.
- The layout window. This is where you define the components (buttons, text fields, images etc.) that will make up your window. When I first played around with the SDK back at version 1.0 you had to manually define where all these things went by playing around with their XY coordinates (which, incidentally was always buried somewhere in the middle of the large list of properties) and then switch views to see if you’re editing produced the right result. Surely, I thought, this will be one of the areas they’ll fix in the 1.5 SDK. Not a chance. Unfortunately it’s still as cumbersome as ever and a world away from the slick X Code world of dropping and dragging.
- No development mode on the phone. When you plug the phone in for the first time, Windows tries to grab whatever driver it reckons is appropriate. If you want to develop on this phone though, you have to manually tell Windows to go search in the SDK folder for the right driver. What, are we back in the year 1998?! Surely when you plug the phone in an option could come up on the screen which would allow you to enter development mode and the right drivers could then auto-install.
Anyway, that pretty much sums up my experiences so far. Please sound off in comments if you reckon I’ve been too harsh or not harsh enough!

Nice blog post.
I’m thinking of getting into the world of Android developing but it’s a steep learning curve. Attending DIT it’s all about C so the world of Java-Android is a jump.
I found the same thing happened to me when I started eating tomatoes.
This blog kept my own faith up as i was wondering if I ought to quit. I’m lastly starting to get a little bit of understanding of this topic and how to benefit. Additionally it is hard working on your part as the author of this fantastic post. I’ve simply just started a website, and I think this article is great advice to the person who wants to learn the important strategies. The only problem is always that I need more time to know and learn more. It’s possible that will improve while i start my annual vacation next month.
The title of your blog: (Acid Reflux Help | Acid Reflux Help) seemed intresting so thats how I ended up here!
Yesterday, while I was at work, my sister stole my apple ipad and tested to see if it can survive a 25 foot drop, just so she can be a youtube sensation. My apple ipad is now broken and she has 83 views. I know this is entirely off topic but I had to share it with someone!
Hello there, You have done a great job. I’ll definitely digg it and individually suggest to my friends. I am sure they’ll be benefited from this site.
I’m not a professional writer, but I do enjoy reading great content like this. Thank you for providing such vital information in a presentable way.|
As soon as I observed this website I went on reddit to share some of the love with them.|
Hello there, I discovered your website by means of Google even as looking for a similar subject, your site came up, it seems to be good. I have bookmarked it in my google bookmarks.
whoah this weblog is wonderful i really like reading your articles. Stay up the good paintings! You recognize, many persons are looking round for this info, you could aid them greatly.
Really good piece of writing. Keep up the notable performance.
Sup. I basically wanted to firmly leave a good quick commentary and also inform you grasp that in fact I’ve been reading your particular internet page for quite some time. Keep up the wonderful efforts and I’ll be returning back once more in a little while.
Incredible, really. I think Gingrich is benefiting from how Romney has consistently been unprepared for questions that he should have seen coming like the issue about releasing his taxes. He’s been running for president for how many years now, and he doesn’t have a better answer than “maybe” when asked if he plans to release his taxes? It puts into question his elect-ability. And if the GOP base is going to end up with an un-electable candidate, they they may as well put forward one that will give Obama hell in the process.
Yay google is my queen aided me to find this great internet site ! . “Don’t rule out working with your hands. It does not preclude using your head.” by Andy Rooney.
Hey there ~ Great stuff, will definitely come back very soon !