Skip to main content

Posts tagged with 'windows phone'

I'm continuing my adventures into mobile development this year. I've spent a lot of time on Windows Phone 8 so far, and as I'm writing this post, I've shipped an app off to a couple of friends to try on their real phones.

Next step, since I'm using MvvmCross, is to take that codebase and use (most of) it to create an Android version of the same app using Xamarin.

I've done Android development before, both with plain Java and with Xamarin (called MonoDroid way-back-when), and either way a major pain point has been the Android emulator. It's slow, clunky, and cumbersome, and everyone knows it. Fortunately, Greg Shackles, Xamarin MVP and all-around great guy, heard my whining and recommended that I check out Genymotion (which I had never heard of).

And, behold! Genymotion is just what I've always wanted. It can create and spin up Android emulators for me using VirtualBox. The prices are very reasonble, and there's even a free version that is no slouch!

I installed it, and it was even kind enough to install VirtualBox for me. Once it's installed, you can select from a whole bunch of pre-configured Android devices (Galaxy S4, HTC One, Moto X, etc).

Genymotion has a lot of pre-configured devices for you to choose from

I decided to create a Galaxy S2 image (which is the phone I actually own and use everyday).

Genymotion Galaxy S2 ready to go in Genymotion

Then, just click that "play" button, and a reasonably fast Android emulator will start up. Both Xamarin Studio and Visual Studio with Xamarin discover it, no problem. I assume Eclipse will also be able to find it.

Xamarin Studio finds Genymotion just fine

If you're doing Android development, do yourself a favor and give Genymotion a try.

P.S. It's pronounced "Jenny motion"

Today I discovered a little trick with XAML binding while working on a Windows Phone 8 app.

Let's say you have a TextBlock, and its value is bound like so:

<TextBlock Text="{Binding MyInnuendo}" />

Which works fine, but suppose I want to add some additional text, formatting, etc, kinda like a string.Format? I guess you could just do that in a property on whatever model object you're binding to, but you can also do this:

<TextBlock Text="{Binding MyInnuendo, StringFormat='\{0\}, if you know what I mean'}" />

Now the extra text and formatting will show up. I just thought it was a nice little trick; I'll leave it up to you to decide if you should do it this way.

Matthew D. Groves

About the Author

Matthew D. Groves lives in Central Ohio. He works remotely, loves to code, and is a Microsoft MVP.

Latest Comments