C#.NET4.0で記述されたアプリケーションがあります。Androidシステムでも動作させるためにMonoDroidを使用することを検討しています。つまり、アプリケーションは、MonoDroidには存在しないように見える.NETFramework名前空間System.IO.Portsに大きく依存しています。私にはどのような解決策があるので、MonoDroidを引き続き使用できますか?
2 に答える
シリアルポートサポートの拡張リクエストをMonoforAndroidに追加しました。
https://bugzilla.novell.com/show_bug.cgi?id=687407
ただし、大まかな検索では、AndroidでRS232シリアルポートをサポートするためにカスタムLinuxカーネルが必要であることが示唆されているため、それがどれほど役立つかはわかりません。
android-serialport-apiもあります...しかし、wikiはカーネルの再コンパイルも提案しています。
これを「通常の」使用(Androidマーケットでの展開など)で使用したい場合、シリアルポートがどのような形式でもサポートできるかどうかはわかりません。
単純なコード構成が必要な場合は、mono github repoからコードを取得できます。もちろん、メインの mono リポジトリのすべてが MonoDroid で機能するわけではありませんが、列挙型などの一部は問題なくコピー/貼り付けする必要があります。最終的には、私が見た限りでは、Android では実際のシリアル ポートを取得できません。
他の人が述べたように、シリアルをデバイスにハッキングする方法があるかもしれません。ただし、Bluetooth またはWi-Fi シリアル アダプタを調べたほうがよい場合があります。(Bluetooth SPP は Android で使用できますが、iOS では使用できない可能性があるため、両方をカバーしたい場合は、wifi を使用することをお勧めします。) 次に、独自の System.IO.Ports.SerialPort 実装を作成して、それを内部にラップすることができます。モノドロイド プロジェクト。
私はこれを自分で行ったことはありませんが、私が調査したことです。