【发布时间】:2012-05-23 04:43:54
【问题描述】:
我有一个用 C# .NET 4.0 编写的应用程序。我考虑使用 MonoDroid 让它在 Android 系统上也能运行。问题是,该应用程序严重依赖于 MonoDroid 中似乎不存在的 .NET Framework 命名空间 System.IO.Ports。有什么解决方案适合我,所以我仍然可以使用 MonoDroid?
【问题讨论】:
标签: xamarin.android
我有一个用 C# .NET 4.0 编写的应用程序。我考虑使用 MonoDroid 让它在 Android 系统上也能运行。问题是,该应用程序严重依赖于 MonoDroid 中似乎不存在的 .NET Framework 命名空间 System.IO.Ports。有什么解决方案适合我,所以我仍然可以使用 MonoDroid?
【问题讨论】:
标签: xamarin.android
我已向 Mono for Android 添加了对串行端口支持的增强请求:
https://bugzilla.novell.com/show_bug.cgi?id=687407
但是,我不确定它会有多大用处,因为粗略的搜索表明需要自定义 Linux 内核才能在 Android 上获得 RS232 串行端口支持,所以这可能有点不适合。
还有android-serialport-api...但维基也建议recompiling the kernel。
假设您希望将其用于“正常”使用(在 Android Market 上部署等),我不确定是否支持任何形式的串行端口。
【讨论】:
如果您只需要一些简单的代码结构,您可以从mono github repo 获取一些代码。当然,并非主要单声道存储库中的所有内容都可以在 MonoDroid 中运行,但是像枚举这样的一些东西应该可以毫无问题地复制/粘贴。最终,据我所知,您在 Android 中并没有真正的串行端口。
正如其他人所说,可能有一种方法可以将串行破解到您的设备上。但是,您最好探索蓝牙或wifi serial adapter。 (蓝牙 SPP 可用于 Android,但可能不适用于 iOS,因此如果您想同时涵盖两者,则可能需要使用 wifi。)然后您可以创建自己的 System.IO.Ports.SerialPort 实现将其包装在您的MonoDroid 项目。
我自己没有这样做,但这是我探索过的。
【讨论】: