Here it is! After 2+ months of development, I proudly present the all new version 2.0 CareerBuilder Jobs Android app.

CareerBuilder Android app screenshot 1
CareerBuilder Android app screenshot 2

This is my first published Android app. In general, I like Android development. It’s the only mobile app platform I’ve developed for, so it’s hard to say how it compares. I did see a lot of parallels to web development, though. Fragmentation is an issue, with a lot of devices being stuck on older versions of the Android platform. It was very reminiscent of catering to older browsers.

I never used the WYSIWYG editor to create layouts, opting for hand-crafted XML instead. My one gripe is that the XML is very verbose. There are three layout types that you can mix and match to craft whatever layout you need. It worked well enough for me, though there was the same sort of “how do I just get this thing to sit over here” learning curve that I also had with CSS back in the day.

A lot of things that you take for granted actually require a lot more thought once you dive in. Android devices come in all shapes, sizes, and resolutions, so the concept of density independence is crucial. The NinePatch is a really neat idea that helps a lot in this area.

Also, the simple act of rotating the phone can have big ramifications. By default, doing so causes the current activity (“page”) to restart, which can cause things like duplicate code execution or loss of state. This can be disabled, but the same problem occurs in other situations, like when another app takes focus, or if there’s an incoming call. I found it best to suck it up and write the (sometimes hefty) code to handle this seemingly innocuous issue.

I could go on about the pros and cons, but that’s enough for now. Looks like my next project is in iOS (possibly iPad focused) so when that’s done, I’ll be able to compare the two platforms.