In my push to get our fundamental libraries up and working on Mono for Android we’ve added support for OpenNETCF Extensions and OpenNETCF IoC. What that means is that now you can have a common code for a lot of application infrastructure that works on the Compact Framework, the desktop, Windows Phone, MonoTouch for iOS and Mono for Android. So you can now create a single, common code base for your applications that includes data access, event aggregation, dependency injection and inversion of control.
We’ve started doing work creating client applications for a few of our products to run on Android and iOS devices. Since I’m a huge fan of code re-use, I took the time this week to port the OpenNETCF.ORM over to Xamarin’s Mono for Android using a SQLite backing store implementation. The biggest challenge was that SQLite doesn’t support TableDirect not ResultSets, so it took a bit of code to get running. Still, it took only a day and a half to get what I feel is pretty good support up and running. I’ve not yet tested it through all of the possible permutations of queries, etc, but basic, single-table CRUD operations all test out fine.
So now a single code base can work on the Windows Desktop, Windows CE and Android (probably iOS and Windows Phone as well with very little work). If you’re doing MonoDroid work, give it a try.