如何在Android中重用现有的C#代码?

时间:2013-07-18 12:57:45

标签: c# android xamarin.android

我有一个C#网络协议库(大约5000 LOC),我想在Android应用程序中重用它。该协议可能在未来发生变化。

这样做的好方法是什么?

  • 将库移植到Java / Android?
  • 使用某种C#到Java转换器,如this。使用源代码构建Java库并在我的Android应用程序中使用它?
  • 使用Xamarin.Android(monodroid)构建Android服务并编写使用此服务的原生Android应用程序?
  • 其他选择?!

1 个答案:

答案 0 :(得分:1)

如果您想制作Android应用并且不需要使用Java,Xamarin.Android是一个非常好的解决方案。构建应用程序的方式与使用Java的方式基本相同。您仍然拥有资源文件和axml文件等。主要区别在于您使用C#而不是Android。

还有一些轶事表明.NET VM运行速度比Android的Dalvik JVM快。因此,您的C#代码可能比Java端口运行得更快。

Xamarin Studio的Alpha通道最初支持PCL,所以如果您将库作为PCL已经可以很容易地插入它。

您可能需要查看此讨论,以了解C#与Java的优缺点: MonoDroid VS Java in android development?

您还可以使用此网站扫描您的lib,了解它的移动友好程度: http://scan.xamarin.com/