The stock database available in Android is SQLite, and chances are you’ll find yourself wanting to use it in your applications. But how do you go about doing so? In this post I’ll go over some options for accessing the database, exploring both the standard Android patterns and also an example of plugging in an ORM to simplify things. A SQLite database is pretty much exactly what the name implies: it’s a very…
Using Inversion of Control in MonoDroid Applications
Just because a mobile application needs to be (or should be, in most cases) small and lightweight doesn’t mean we should set aside best practices like Inversion of Control containers when building our apps. I don’t want this to be an introduction to dependency injection, so I’d highly recommend reading up on it a bit if you aren’t familiar with the pattern. With so many options out there for .NET containers, which…
Shared Libraries For Windows Phone 7, MonoDroid and Beyond
If you’ve been doing mobile development, you probably know all about the problem of having to target multiple platforms, along with the languages each one requires. Having to rewrite and support essentially the same code on different platforms flat out sucks, and isn’t really a great way to spend your time. Thanks to the fine folks working on Mono and its satellite projects, it’s possible to leverage the power of the .NET framework…
Fairfield / Westchester Code Camp: MonoDroid Slides and Code
This weekend I had the opportunity to speak at the Fairfield / Westchester Code Camp up in Stamford, CT. It was my first time speaking, and I definitely had a lot of fun. First, I want to thank Mark Freedman (and everyone else involved in running the camp, of course) for giving me the opportunity to speak and for running a great camp. The day was filled with many great speakers and I’m honored to have…
Custom Ordering of Action Filters in ASP.NET MVC
I recently stumbled across something with ASP.NET MVC action filters where they weren’t being executed in quite the order I was expecting. More specifically, I had made a poor assumption that filters defined at the Controller level would all execute prior to any action-level filters. After all, that was the behavior I thought I had seen before, but it turned out that it worked a bit differently. In this post I will explore exactly…