Frage

Es besteht die Möglichkeit, die C# -Bibliothek mit Mono für Android von Java Code zu verwenden? Es ist möglich, dies von Objective-C bis C# (Monotouch) mit dem Flag "-Xcode" im Befehl mtouch zu tun. Aber es gibt ein Äquivalent in Mono für Android?

Und es gibt Gründe dafür?

Danke!

Gwennin

War es hilfreich?

Lösung

Ist es möglich, die C# -Bibliothek mit Mono für Android von Java Code zu verwenden?

Ja. Jeder Java.lang.object Unterklasse hat eine Android Callable Wrapper zur Bauzeit generiert. Der Android Callable -Wrapper ist vorhanden, damit Java -Code den verwalteten Code anrufen kann (z. Aktivität.Oncreate () Android kann tatsächlich die verwaltete Override aufrufen.

Es gibt jedoch einige Einschränkungen; Insbesondere sind die einzigen Methoden, die im Android Callable Wrapper deklariert werden, überschriebene Methoden und Methoden, die von implementierten Schnittstellen stammen. Dies kompliziert das Java-> C# -Szenario.

Gibt es einen Grund dafür?

Ja. Es gibt eine Reihe von Umständen, unter denen Sie derzeit C#nicht verwenden können, z. android.jar (zB der Karten -API). (Es gibt Android.runtime.jnienv, Aber das funktioniert nicht mit Szenarien der Subklasse.) Als solches ist der einfachste Weg, die Java -APIs zu verwenden Aktivitäten (unter Verwendung von Aktivität.StartActivity (), um eine verwaltete Aktivität von Java zu starten), JNIEnv, Dienstleistungen usw.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top