26 Nov 2013
Recently Xamarin added Support V7 AppCompat and GridView to their Component store, which you now can use instead of ActionBarSherlock or LegacyBar and it is Google's official way to support ActionBar's on API's which natively do not support it. However it does not work straight out of the box and you need to mimic what MvxActivity does in your own implementation. So here's the code I used to re-create MvxActivity to inherit from ActionBarActivity instead of Activity, which Support V7 needs.
This way you only need to replace MvxActivity with MvxActionBarActivity where needed and also add one of the AppCompat Themes to your Activity: Theme = "@style/Theme.AppCompat.Light"
15 Nov 2013
It has been a little while since last update from me. Since then a lot of stuff has happened in the Xamarin world. They have teamed up with Microsoft and released official PCL support, while Microsoft has loosened up their licenses on Bcl and their HttpClient among others. This is really great news!
I have already heard about people releasing their libraries for Xamarin because of the PCL support, among them is Jon Skeet, which is working with his team on Noda Time. There was some questions about what is actually supported in the various profiles, and I have spent the day today to track that down and test various PCL's. For now I have only tested for async/await and Tasks support and which profile supports which targets and contains which subsets.
This can be seen in the table below or by visiting my Google Spreadsheet I have made with it.
From what I can see the best choice for a profile to pick in your project seems to be either profile 78 or 158. The former is reported to not have Timer and ThreadPool in it and if you need support for Silverlight 5, profile 158 seems to be the best choice overall.
18 Oct 2013
We are playing with QR Codes at work and needed a quick and simple way to generate QR Codes. I discovered the Google Charts API has a hidden way to generate these. This lead me to make a quick small LinqPad script to generate these. Find it here or see below.
23 Sep 2013
Now you might have come by some interfaces you want to implement and then all of the sudden they want you to implement a Handle property which is of the type IntPtr and a Dispose method. If you leave them be your code will most likely never get called. Then you scratch your head and wonder why this is, also you might ask yourself what this Handle is. The brief explanation is that the Handle provides an Android Callable Wrapper to Android. All native Android interfaces extend IJavaObject so they will expect that to be implemented. So the simple answer is that you do not implement Handle or Dispose yourself, however you inherit from Java.Lang.Object which does that for you. So your code will end up looking like this:
Given that IStuff extends IJavaObject. More on this topic can be read in the Xamarin documentation on Android Callable Wrappers
13 Sep 2013
A wild podcast has appeared, this one is called Gone Mobile and made by some cool guys including Greg Shackles (@gshackles), Nic Wise (@fastchicken) and Jonathan Dick (@redth). The podcast as the title says is about Mobile stuff, including news, interviews with people in the industry and much more. The first episode has already aired, which I though was quite enjoyable and I will listen to it in the future.
If you have not given it a listen, I advise you to and see for yourself if it is interesting. The podcast is also available on iTunes if you are into that kind of stuff.