I'm at a bit of a cross roads. I'm a seasoned C# developer. I want to create a software application that uses the Android platform. I need to know given some criteria which is better for developing the software for Android.
I know C#. I don't know Java but I'm more than prepared to learn it.
Which platform (C# - using Xamarin) or Java would make my development route easier.
Among the techs I need to use includes location, maps, access web services, store data locally (on the phone).
I also need to know if there are any easy ORMS to use in each language, gui generators (e.g. automatically generate views from a class).
Given my criteria and YOUR personal experience using BOTH techs (C#, Java) to create android software can you recommend to me which route I should take. Please be as thorough as possible in your reasoning.