JavaコードのAndroid用Monoを使用してC#ライブラリを使用しますか?
-
25-10-2019 - |
質問
Java CodeのAndroid用Monoを使用してC#ライブラリを使用する可能性がありますか? Mtouchコマンドの「-XCode」フラグを使用して、Objective-CからC#(Monotouch)にそれを行うことができます。しかし、AndroidにはMonoに同等のものがありますか?
そして、それをする理由はありますか?
ありがとう!
グウェニン
解決
可能ですか] JavaコードのAndroid用Monoを使用してC#ライブラリを使用しますか?
はい。毎日 Java.lang.Object サブクラスには Androidコール可能なラッパー ビルド時に生成されます。 Javaコードが管理されたコードを呼び出すことを許可するために、Androidコール可能なラッパーが存在します(例えば、オーバーライドするときに Activity.oncreate() Androidは、実際に管理されたオーバーライドを呼び出すことができます。
ただし、いくつかあります 制限;特に、Androidコール可能なラッパーで宣言されている唯一の方法は、実装されたインターフェイスからのオーバーライドされた方法と方法です。これにより、Java-> C#シナリオが複雑になります。
ありますか]それをする理由はありますか?
はい。現在、C#を使用できない状況がいくつかあります。たとえば、外部にあるタイプを使用しています android.jar
(例 マップAPI)。 (がある android.runtime.jnienv, 、しかし、それはサブクラス化シナリオでは機能しません。)そのため、Java APIを使用する最も簡単な方法は、Javaでコードの一部を記述し、Departingを含むさまざまなメカニズムを介してJavaと管理コードを統合することです。アクティビティ(Active.startactivity()を使用してJavaから管理されたアクティビティを起動します)、 JNIEnv
, 、サービスなど