Wednesday, January 30, 2013

First ham app for Android

My first Android app
I thought that some of you might be interested to look at the first app I have completed using Basic4Android (B4A) called WhereAmI. It's no great shakes as an app, and I think there is at least one other in the Android Market that does a similar job. My app's unique feature is that besides the locator it shows the national grid reference (NGR) as well as the Worked All Britain (WAB) square. WAB is a popular activity on the low HF bands over here.

Because NGR and WAB only cover the UK, my app will not be very useful if you are outside of Great Britain. Indeed the app will probably blow up if you try it outside the UK as I haven't included any test that the user is within these sceptred isles.

I'd rather not say how long the app took me to complete, but it was far longer than expected given that I had already written code to convert from lat/long to grid locator in VOAProp. That code was in Pascal, and the trouble was caused by the fact that Basic4Android does not have equivalent functions to those in Pascal, or even Visual Basic, so I could not just do a copy and paste. In the end I found a conversion routine written in C++ and converted that to B4A's dialect of Basic. From there on it was easy, as there is a user-written library in B4A to handle conversions to/from National Grid references, upon which the WAB programme is based.

If I don't try something else I might have a go at displaying a Google Map centred on my location, as one of the examples that come with B4A does just that.

I don't plan on publishing any of the apps I create in Google Market (or Google Play as I think they now call it). I am doing this just for fun. Think of this as the programming equivalent of those radio projects knocked together on a breadboard or built Manhattan style, with no expectation that they will get put into a nice box.

If there is any interest I will make available the B4A project files as a zip file so that folks can play with them, hack them about or use them as a starting point for something better.
Post a Comment