So after almost exactly a year, my android app has reached a pretty big milestone. Note that it wasn’t a year of effort..not even close.. I didn’t touch it for about 4 months.. and even when I am actively coding, I’m lucky to get a couple hours (between 9pm and midnight) where I don’t get interrupted..
Anyway, the milestone reached is that I have all communications built. I still have lots of features to add, and lots of functionality in the app itself..and a TON of making it look good.. but I think the main complexities are taken care of now.
I recall when I first started, I was trying to find a good high level architecture of how an android application would work, together with GAE (Google App Engine), GCM (Google Cloud Messaging), GCE (Google Cloud Endpoints), the Google Datastore, and the MySQL database. I drew a few versions of the architecture early on, after some reading (being an enterprise architect, I like understanding the big picture before I dive in), and it turns out they were pretty accurate. But I’ve now drawn the pic, in case anyone else looking happens to find this little pic in the interwebs..
Of course there are many ways to skin this.. but this might be a pretty good general way, assuming you want offline data, but also want to share data between other devices and at the same time minimize the traffic since using Google’s platform is only free if you stay below certain quotas.
So here is the pic. It turns out that to code an app that does this, really means you are coding about 3 different applications. The Android App itself, the GCE API, and the Web App if you want users who aren’t on Android.

monetized!
I now have ads placed in the app. Hoping the targeting features of the ads work well, since that was the main point for making this app a good case. (other then just making an app for me to learn – which was the biggest reason)
I’m using adMob (by Google) for my ads.
Next up.. the donation button.. be kind to your developer 😉
I’m using google play’s integrated in-app payments for this. Direct links to paypal seem to be frowned upon by google (they miss out on their cut).
well that went fairly smooth.. my app is now on google play (alpha test stream), with some select testers allowed to see it.. I have some in-app products set up, and the donation (renamed Support) buttons work! i can get paid!
(lots of other little set up things to get it working on the google play store, but they went pretty well.. had to add a google+ community for the testers, had to figure out apk signing and fix some things..)
Lots to do though still.. need to figure out tax implications to the support amounts.. the app is still set up as if it connects locally to GAE, so that will need to be altered to use the google hosted one to really test the app on devices..
and a million other things.. but onward!