gpt4 book ai didi

java - 在 Xamarin 中创建 Android 服务并从 Java native 客户端应用程序调用其方法

转载 作者:太空宇宙 更新时间:2023-11-03 15:39:00 24 4
gpt4 key购买 nike

我们在 .net 中有大量算法,我们已将其移植到 Xamarin。现在我们的客户要求我们在 Android/Java 下使用它们。我的想法是使用 Xamarin 创建一个 Android 服务,以便我们的客户可以编写 java 客户端来启动服务,如下所示:

Intent testintent = new Intent ("com.swe.TestService");
StartService (testintent);

问题是:启动后,它们如何调用我们在服务上公开的方法?例如,为了简单起见,我们可以假设我们在服务上有这样一个方法:

public int Sum(int first, int second)
{
return first + second;
}

在此先感谢您的帮助!

最佳答案

我不确定你们有没有想出来。我们的经验表明该解决方案无法像您帖子中那样以简单的方式工作。

Xamarin 不支持 Java 调用 C# 代码,因此您不能将 Java 和 C# 代码混合在一起。您将 C# 放入服务中是正确的,但该服务需要是远程服务!!不仅盯着服务,还与服务绑定(bind)。 Binding是Android中的一个IPC。它是消息驱动的。您不能简单地调用 Java 中的 C# 方法。您必须在 C# 和 Java 中定义自己的协议(protocol)并实现消息处理程序。方法调用和结果返回必须转换为发送和返回的消息。

远程服务绑定(bind)本身在 Java 和 C# 中是相似的。查看 Android SDK ApiDemo 中的示例代码非常有帮助。

关于java - 在 Xamarin 中创建 Android 服务并从 Java native 客户端应用程序调用其方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30856903/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com