안드로이드 앱에서 사용할 수있는 많은 자바 라이브러리가 있다. 바인딩 라이브러리를 만들어 Java 라이브러리를 Xamarin.Android 응용 프로그램에 통합하는 방법에 대해 알아보자
Android용 라이브러리는 방대하기 때문에 새로운 Android 라이브러리를 만드는 것보다 기존 Android 라이브러리를 사용하는 것이 좋다. Xamarin.Android는 이러한 라이브러리를 사용하는 두 가지 방법을 제공한다.
C#에서 Java 코드를 호출 할 수 있도록 C# 래퍼로 라이브러리를 자동으로 래핑하는 바인딩 라이브러리를 만드는 방법과 Java Native Interface (JNI)를 사용하여 Java 라이브러리 코드에서 직접 호출을 호출하는 방법이 있다. JNI는 Java 코드가 네이티브 응용 프로그램 또는 라이브러리에 의해 호출 될 수있게 해주는 프레임 워크이다.
아래는 첫 번째 방법인 하나 이상의 기존 Java 라이브러리를 응용 프로그램에 연결할 수있는 어셈블리로 래핑하는 Bindings 라이브러리를 만드는 방법에 대한 설명이다.
Xamarin.Android는 Managed Callable Wrappers (MCW)를 사용하여 바인딩을 구현하는데 MCW는 Java 코드를 호출해야 할 때 사용되는 JNI 브리지로 호출 가능 래퍼는 Java 유형의 서브 클래스 작성 및 Java 유형의 가상 메소드 대체를 지원한다.
마찬가지로 Android 런타임 (ART) 코드가 관리 코드(C#)를 호출하기를 원한다면 Android Callable Wrappers (ACW)라고하는 다른 JNI 브리지를 통해 코드를 호출한다.