我有一个 C# 网络协议库(大约 5000 LOC),我想在 android 应用程序中重用它。该协议可能会在未来发生变化。
有什么好方法可以做到这一点?
- 将库移植到 Java/Android?
- 像这样使用某种 C# 到 Java 转换器。使用源代码构建 Java 库并在我的 Android 应用程序中使用它?
- 使用 Xamarin.Android (monodroid) 构建一个 android 服务并编写一个使用该服务的本机 Android 应用程序?
- 其他选择?!
我有一个 C# 网络协议库(大约 5000 LOC),我想在 android 应用程序中重用它。该协议可能会在未来发生变化。
有什么好方法可以做到这一点?
如果您正在寻找制作 Android 应用程序并且不需要使用 Java,那么 Xamarin.Android 是一个非常好的解决方案。构建应用程序的方式与使用 Java 几乎相同。你还有资源文件和axml文件等。主要区别是你使用C#而不是Android。
还有一些轶事表明 .NET VM 比 Android 的 Dalvik JVM 运行得更快。因此,您的 C# 代码可能会比 Java 端口运行得更快。
Xamarin Studio 的 Alpha 通道最初支持 PCL,因此如果您已经将库作为 PCL,那么插入它可能会变得非常容易。
您可能想查看此讨论以了解 C# 与 Java 的优缺点: Android 开发中的 MonoDroid VS Java?
您还可以使用此网站扫描您的库,以查看它对移动设备的友好程度: http ://scan.xamarin.com/