I had the mobile input working on a HP iPAQ rx 1950. so i know it will work on android.
This makes no sense. The HP iPAQ rx 1950 is NOT an Android device, it ran an old, no longer supported, mobile version of Windows. That device came out a full 2 years before Android was even released. So the fact that it ran on that device says absolutely nothing about the ability to run that code on an Android device.
WINDOWS != ANDROID
not in any way, shape or form, other than they are both operating systems. But beyond them both being operating systems, they use completely different APIs, SDKs, etc.
What Xamarin did was create C# wrappers around the Android SDK so that you can use C# to program Android devices, but behind the scenes Xamarin.Android calls into the native Android SDK using callable wrappers, in other words the C# Android SDK code calls into the native Java code that the Android SDK uses. As a bonus, Xamarin.Android also adds a large subest of the .NET framework so with that, some .NET code can be easily used in a Xamarin.Android project, but that is mostly back end stuff like database access, web requests, etc. For user input and output to the screen, though, you need to use the Android SDK APIs, classes/types, and functions.
Xamarin was initially created to allow .NET developers easily re-use their .NET BACK END code (back end means not not user interface code), however the user interface code would have to be written for the Android platform using the Xamarin.Android SDKs (which, again, is just a wrapper around the native Android Java SDK).
Later on, Xamarin.Forms was created which abstracts the platform* specific user interface controls so that you could write an app that shares almost 100% of the code between platforms, so with on code base you can target UWP (Universal Windows Platform), Android, and iOS. That is the ideal. In reality, for any non-trivial app, you will have to make some platform specific modifications, i.e. code that only runs on one platform but not the others. Xamarin.Forms does provide ways to do that, though.
- by platform here, I mean the OS that the app will run on, whether Windows, Android, or iOS.