Pregunta

¿Existe la posibilidad de usar la biblioteca C# con Mono para Android del código Java? Es posible hacerlo de Objective-C a C# (Monotouch) con el indicador "--xcode" en el comando mtouch. ¿Pero hay un equivalente en mono para Android?

¿Y hay razones para hacerlo?

¡Gracias!

Gwennin

¿Fue útil?

Solución

¿Es posible] usar la biblioteca C# con Mono para Android del código Java?

Sí. Cada Java.lang.object La subclase tiene un Wrapper Callable Android Generado en la hora de construcción. El envoltorio callable de Android está presente para permitir que el código Java llame al código administrado (por ejemplo, para que cuando anule Activity.Oncreate () Android puede invocar la anulación administrada.

Sin embargo, hay algunos limitaciones; En particular, los únicos métodos que se declaran en el envoltorio callable Android son los métodos y métodos anulados que provienen de las interfaces implementadas. Esto complica el escenario Java-> C#.

¿Hay] una razón para hacerlo?

Sí. Hay una serie de circunstancias en las que actualmente no puede usar C#, por ejemplo, usando tipos que están fuera de android.jar (por ejemplo, el Mapas API). (Hay Android.runtime.jnienv, pero eso no funciona con escenarios de subclasificación). Como tal, la forma más fácil de hacer uso de las API de Java es escribir parte del código en Java, luego integrar el Java y el código administrado a través de una variedad de mecanismos, incluida Actividades (usar Activity.StartActivity () para lanzar una actividad administrada de Java), JNIEnv, servicios, etc.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top