binding - Xamarin:使用 native 库

标签 binding native xamarin

1) 如果 iOS 和 Android 原生库可用,为了使用该库开发跨平台应用程序,应该采取哪些适当、高效且更容易的步骤?绑定(bind)Android库还是iOS?如果我们绑定(bind) Android native 库,我们能否在 Xamarin.iOS 应用程序中使用这个绑定(bind)的库,反之亦然?

2) 如果有 C++ 库,是否可以使用该库来开发跨平台应用程序?

提前致谢!

(只是 Xamarin 的初学者,如果问题似乎不合适,请原谅)

最佳答案

  • 原生 iOS 和 Android 库通常是完全不同的(iOS 库通常用 Objective-C 编写,Android 库用 Java 编写),因此它们的绑定(bind)会有所不同。即使 API 相同,Objective-C 和 Java 之间的差异也足以使绑定(bind)也必须不同。
  • 是的,可以在 iOS 和 Android 项目中使用 C++,但机制不同。这里有几个选项:
  • 使用 SWIG 等工具为 C++ 库创建托管绑定(bind)。 This也是一本有趣的读物。
  • 创建一个包装 C++ 库的 C 库,然后使用托管代码中可用的标准 P/Invoke 机制与 C 库进行交互。
  • 关于binding - Xamarin:使用 native 库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15766014/

    相关文章:

    java - libtensorflow_jni 和 libtensorflow_jni_gpu jar 依赖项是否互斥?

    c# - 如何将 int/double/string/int[] 类型的参数从 C# 传递到原生 C?

    WPF 绑定(bind) : Use DataAnnotations for ValidationRules

    c# - 单选按钮绑定(bind) MVVM 应用程序

    maven-2 - 使用 Maven 管理 native 库

    android - Xamarin.Forms 如何显示互联网连接已更改?

    Android- SetOutlineAmbientShadowColor 在 api < 28 上没有这样的方法错误

    c# - 集合类型附加属性

    javascript - Angularjs - ng-if - 绕过/解决范围逻辑

    Xamarin 表单 : scroll position in scrollview