Uso de librerías Java en Xamarin.Android

12
Alejandro Ruiz Xamarin MVP & CTO @ Los Xamarinos [email protected] Uso de Librerías Nativas en Xamarin.Android

Transcript of Uso de librerías Java en Xamarin.Android

Page 1: Uso de librerías Java en Xamarin.Android

Alejandro RuizXamarin MVP & CTO @ Los [email protected]

Uso de Librerías Nativas en Xamarin.Android

Page 2: Uso de librerías Java en Xamarin.Android

Binding• Es un tipo de proyecto mediante el cual podremos exponer codigo

Java embebido en un .jar o .aar

Page 3: Uso de librerías Java en Xamarin.Android

Arquitectura• MCW: Managed Callable Wrappers• ACW: Android Callable Wrappers

Page 4: Uso de librerías Java en Xamarin.Android

Java vs C#Código Java

Implementación C#

Page 5: Uso de librerías Java en Xamarin.Android

Puntos a tener en mente al crear un binding:• ¿La librería tiene alguna dependencia externa?• ¿Para que API Android fue compilada la librería?• ¿Qué versión de JDK fue utilizada para compilar la librería?

Page 6: Uso de librerías Java en Xamarin.Android

Build Actions• EmbeddedJar:Incrusta en nuestra DLL el archivo .JAR

• InputJarPreviene incrustar el archivo .JAR en nuestra DLL

• LibraryProjectZipIncrusta en nuestra DLL el archivo .AAR

• ReferenceJarEspecifica una referencia .JAR de nuestro .JAR/.AAR no genera definiciones C# para las referencias.

• EmbeddedReferenceJarEspecifica una referencia .JAR de nuestro .JAR/.AAR y genera definiciones C# para las referencias.

Page 9: Uso de librerías Java en Xamarin.Android

Ejemplo Lib + Native Impl(.SO C/C++)

https://goo.gl/gTjdzP

Page 10: Uso de librerías Java en Xamarin.Android

Referencias

Binding a Java Library:https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/

Customizing Bindings:https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/customizing-bindings/Errors:https://developer.xamarin.com/guides/android/advanced_topics/binding-a-java-library/troubleshooting-bindings/

https://gist.github.com/JonDouglas/dda6d8ace7d071b0e8cb

Page 11: Uso de librerías Java en Xamarin.Android
Page 12: Uso de librerías Java en Xamarin.Android

Gracias, ¿Preguntas?Alejandro RuizXamarin MVP & CTO @ Los XamarinosUso de Librerías Nativas en Xamarin.Android

[email protected]

@alejandroruizvahttp://alejandroruizvarela.blogspot.comhttps://github.com/alejandroruiz