Moazzam's Ramblings

27Oct/080

Programming for the beast named Android

Click for original size

Click for original size

I was messing around with Android's development kit and I have to say, learning to develop an application for Android was much easier than trying to do it for Windows Mobile. I guess proper documentation helps - a lot. Google has put published tutorials on how to do some common tasks needed for making applications, and hasĀ  code reference documentation, etcetera which makes it easier to jump into it.

I am a very big fan of MVC and code and design separation in general. I was happy to find out that Android's API lets you design the user interface in XML and then use that in your program. You can also do the design programmatically but who wants to do that (unless maybe you were adding / removing elements dynamically).

Google also provided an emulator to debug your software. It would have been a nightmare debugging my application without it. Beware of the "source not found" error. Whenever something goes wrong in your application, the debugger tries to reference the source of the place of error. And, the compiler doesn't include source in the binary from what I understand. So, you get the debugger throws the error "Can't find source". There are workarounds for that problem posted on the internet, though.

When I started learning how to program for Windows Mobile (I have a Kaiser so I wanted to an FTP editor for it to edit HTML/PHP/whatever on the go). It took me quite some time to realize that you HAVE to buy Visual Studio if you want to program for it. It took me about a week to get started with Windows Mobile development but it took me a day for Android. And, the studio costs hundreds of dollars so that was out of the question for a hobby. Android, on the other hand, is free so I can use it with no cost at all. Don't get me wrong. I am not putting Microsoft down. I am a programmer too and I know better than to say all software should be free. People need to make money and without an incentive there won't be any good software. Visual Studio has great features which make programming very easy. I love their UI designer. I just want to have the choice to be able to program with their SDK without having to shell out 500+ dollars. Maybe if they let me use the SDK for free and asked to be paid for the visual studio, it would be a beter deal.

Anyway, after I got interested in the Android's SDK, I decided to write some useful applications for it. I'm sure there will be enough users of Tmobile's G1 phone who will want to use my application *fingers crossed*. Maybe I will make another post of what I plan to make that application do (hint: it will use geo-location service, run in the background and have a UI for settings and such).

Links:

Android's home page :
http://www.android.com/

Resources for developers :
http://code.google.com/android/

Tutorials on various android related things :
http://developerlife.com/tutorials/?p=304