December 30, 2009 Leave a comment

As promised, here is a set of screenshots showing the current state of the Excursional UI.

– Allan

Categories: Development Tags: , ,

Photo features now functional!

December 30, 2009 Leave a comment

Well, with a lot of hard work I’ve finally managed to get all of the photo-related features I wanted into Excursional.  Specifically, it is now possible to view an image by tapping on its icon in the map view.  Alternatively, the user can also bring up a gallery view of all the photos he/she has taken during the trip by clicking on the “gallery” button on the trip home page.

Before I finished all of that up, I decided it was time to figure out how my app was going to continue to track GPS coordinates when it gets hidden (another app gains focus).  Previous to this research, Excursional consisted of a single Activity – Android’s paradigm for an app with a UI.  However, when an Activity loses focus it is paused by the system – thereby making it impossible to receive GPS coordinate updates.  So I started looking at the Service, and decided it’s right for Excursional.

Services in Android are headless apps that run in the background until explicity told to stop.  Sounds pretty well-suited to listening for GPS updates to me.  So now Excursional consists of an Activity and a Service, and will keep tracking routes even when the UI isn’t visible.

In my next post I’ll be posting some screenshots of the updated UI.  Thanks for reading!


Pictures and Persistence

December 27, 2009 Leave a comment

It looks like I’m finally getting close to an app with a decent set of functionality now.  Recently I’ve been doing a lot of work on being able to save and reload an Excursional trip, as well as adding geotagged pictures into the mix.

For persisting trip data, I chose to store it all in fairly simple XML files.  This is what lead me to my first major disappointment with Android; the lack of the javax.xml.transform package in the Android SDK.  One of the most common ways to write an XML file in Java is to create an org.w3c.dom.Document object, then write it out as a String with the help of the transform package.  Without it, I was forced to create my own simple xml “toString”.

Although having to write this myself wasn’t all that much of a hardship, I was quite surprised that Google decided to leave functionality for a fairly common task out of the SDK.

With persistence taken care of, adding pictures to Excursional trips was next up on the to-do list.  After a bit of tinkering with Android’s camera Intent, I was able to allow the user to take a picture with Android’s native camera app and have that picture linked in to their Excursional trip.  Here’s a teaser:

Now I need to add the pictures to the trip’s xml file, and get some sort of photo gallery up.  Overall, things are looking really good now – only a few more bits of functionality to add before Excursional is ready to go!

– Allan

Early Work

December 24, 2009 Leave a comment

For the last couple of days, I’ve been playing around with the Google Maps API for Android.  It has a bit of a learning curve, but once you get your footing it’s really quite powerful and fun to use.  I ended up pulling information from quite a few different sources, but there are a couple of tutorials in particular that have been especially helpful for me.  This one over at gives a great rundown of the plumbing-type stuff that you need to look after before actually starting to exercise the API. has a great one that takes you through the entire processing of setting up the Maps API, to more advanced tasks like drawing markers on the map.

Now to prove that I’m actually doing work and not just playing around with my blog, here are a few screenshots.  Keep in mind that the probability of me changing the designs of these pages is approximately 100%, so I’m very open to comments.

The map:

Excursional home page:

Trip home page:

– Allan


December 24, 2009 Leave a comment

Hey, welcome to the Excursional development blog.  If you’re wondering what this blog is, head over to the About page.  I’ll be posting up some details about some of the stuff I’ve been working on shortly.


Categories: Development Tags: