Beginning Android development

I recently upgraded my phone. It was my first phone ever - a Nokia 6610. Going strong for just over six years. Yep, six years. And still going strong. I still like it. It did it's job. Thanks, trusty Nokia 6610! A great backup phone.

My new phone is a Samsung Galaxy S. Probably don't need a link for that one, hey? Yeah, I'm a 'leaping laggard'. And proud of it. I spent a bit of time looking at phones, including the iPhone. In the end, even though Android has flaws (one of the biggest being the crazy customisations manufactures make), I'm all for an open-source OS. Part of the pull was from the idea of being able to develop my own apps for Android. Which is odd, as I'm a huge fan of HTML5. But, hey, APPS!

There was always the possibility I'd have a look at doing some dev work, and not bother. After all, the setup process for Android development is… somewhat involved. It's doable, tho. The Android development environment is very feature-rich. And free, let's not forget that. Anyone can just jump in. Built on the open-source Eclipse IDE, there's a fully-integrated emulator that allows for debugging and significant work has been put into Eclipse integration.

Android development is done in Java. It is possible to use a native API in C++, but I have no idea about C++, nor do I require low-level access to devices. So, Java. I should mention here that I'm a developer by day… in C#. Squarely in the .Net/Microsoft area. I do some javascript/css/html work as well. So while Java syntax- and concept-wise is not a huge change from C#, the languages feel very different. There are a huge number of small variations. Enough that I've been looking up references like crazy over the past week. It's enjoyable, tho. I can see why Google choose it for Android. Huge developer base, plenty of existing libraries, lots of support.

The next task was to figure out an App to develop. It needed to interact somehow with other apps or the OS. Otherwise I may as well make a HTML5 webapp. In the end, I settled for a simple app to start with. I'm very interested in open and portable data. Getting it out of big companies, storing it, analysing it, importing it, manipulating it without waiting for too long. So my app is along those lines. Maybe not exceptionally useful, but interesting, and involving data. I'm making an app for backing up data on the phone. Emails, Contacts and Calendar are taken care of through Google. So I'm looking at Call logs and SMS messages. There is a project to backup SMS messages to Gmail. That's a good idea! I'm just aiming for text files. Mundane, but hopefully reliable and portable. Right now I'm aiming for the Gammu file format. I'm just beginning right now, so no downloads as yet.

There we go. An intro to my experience starting Android development. I'm planning to continue to post about developing my app. Mostly about getting into Java (maybe with some code examples), the Android platform and general observations about smartphones.