In Eclipse, using the Google App Engine Tools v2.4 beta (ms1), and following the example in the demo video, I’ve created an “App Engine Connection Android Project” called “TubeMessage”.
This has created two linked projects in Eclipse:
Out of the box this functions as a simple messaging app, so it seem like a lot of the work has already been done for me!
While setting up this project I also registered the app for C2DM access – this is needed in order to use C2DM to associate the app with Google accounts.
My first deviation from the demo video has been that I wasn’t able to log into a google account from the Android emulator – I fixed this as per this StackOverflow answer – First install the Google APIs (API8, since my real phone runs Android 2.2) via the Android SDK and AVG Manager, and then created a new virtual device with Google APIs as the target, and also changed the TubeMessage-Android’s target (Properties -> Android) to be “Google APIs”.
So, I’m teaching myself how to write Android apps. I’ve got Hello World under my belt, and for my first proper app I’m going to scratch an itch: offine support for online apps.
I play various games on my Android phone as I commute to work on the London Underground (WordFeud is a current favourite). Naturally, for a large portion of this journey I don’t have network access, and I’ve wondered why there don’t seem to be any games that allow you to make moves while offline and transmit them automatically when online. Is there a technical reason why this is particularly difficult? It’s obviously not impossible, since both the built-in Mail client and the GMail app support this.
Inspired by this talk from Google IO, I’m going to implement a simple messaging app using Google App Engine, and then add off-line support for it.