0

有可能从 Java 代码中将 C# 库与 Mono for Android 一起使用吗?可以使用 mtouch 命令中的“--xcode”标志从 Objective-C 到 C# (MonoTouch)。但是 Android 的 Mono 中有一个等价物吗?

有理由这样做吗?

谢谢!

格温宁

4

1 回答 1

0

[是否可以] 从 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、服务等。

于 2011-07-26T15:44:11.790 回答