繁体   English   中英

通过Java代码将C#库与Mono for Android一起使用?

[英]Using C# library with Mono for Android from Java code?

是否可以通过Java代码将C#库与Mono for Android一起使用? 使用mtouch命令中的“ --xcode”标志,可以从Objective-C到C#(MonoTouch)。 但是,Mono是否有与Android相当的功能?

并且有这样做的理由吗?

谢谢!

格温宁

[是否有可能]通过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 ,服务等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM