[是否有可能]通过Java代码将C#库与Mono for Android一起使用?
是。每个Java.Lang.Object子类都有一个在构建时生成的Android Callable
Wrapper。存在Android
Callable
Wrapper,以允许Java代码调用托管代码(例如,以便在覆盖Activity.OnCreate()时, Android实际上可以调用托管覆盖。
但是,有一些限制。特别是,在Android
Callable Wrapper中声明的唯一方法是重写方法和来自已实现接口的方法。这使Java-> C#方案变得复杂。
[有]这样做的理由吗?
是。当前在许多情况下您不能使用C#,例如使用外部类型
android.jar(例如Maps
API)。(有Android.Runtime.JNIEnv,但不适用于子类化场景。)因此,使用Java
API的最简单方法是用Java编写一些代码,然后集成Java和托管代码通过各种机制,包括单独的活动(使用Activity.startActivity()从Java启动托管活动)
JNIEnv,服务等。



