MonoDroid allows you to write Android applications using C# and Visual Studio.
Compare the code in the last post to the following:
[Activity(Label = "My Activity", MainLauncher = true)] public class Activity1 : Activity { protected override void OnCreate(Bundle bundle) { base.OnCreate(bundle); SetContentView(Resource.layout.main); Button button = FindViewById<Button>(Resource.id.button); TextView view = FindViewById<TextView>(Resource.id.text); button.Click += (s, args) => view.Text = "Clicked!"; button.LongClick += (s, args) => { view.Text = "Long click!"; args.ReturnValue = false; }; } }
MonoDroid looks promising. It does all the hard work of mapping Android APIs and idioms into a proper C# representation (notice how the long click Java listener in the last post returns a value, while the long click C# event handler in this post sets a flag in the event arguments). It's little touches like these that make a difference.
MonoDroid also includes a Visual Studio plugin to deploy and debug on the Android simulator, or a real device (even over Wifi). That's a lot of great magic behind the F5 button.