Интеграция Java с Xamarin. Android

Экосистема Java включает в себя разнообразную и огромную коллекцию компонентов. Многие из этих компонентов можно использовать для сокращения времени, затрачиваемого на разработку приложения Android. В этом документе представлены общие сведения о некоторых способах, с помощью которых разработчики могут использовать существующие компоненты Java для улучшения процесса разработки приложений Xamarin. Android.

Обзор

Учитывая степень экосистемы Java, очень вероятно, что все функции, необходимые для приложения Xamarin. Android, уже были написаны на Java. В связи с этим при создании приложения Xamarin. Android можно попробовать повторно использовать существующие библиотеки.

Существует три возможных способа повторного использования библиотек Java в приложении Xamarin. Android:

  • Создание библиотеки привязок Java — с помощью этого метода проект Xamarin. Android используется для создания оболочек C# вокруг типов Java. Затем приложение Xamarin. Android может ссылаться на оболочки C#, созданные этим проектом, а затем использовать этот .jar файл.

  • Собственный интерфейс Javaсобственныйинтерфейс Java (JNI) — это платформа, которая позволяет вызывать код Java (например, C++ или C#) или вызывать его с помощью кода на языке JavaScript, выполняющегося внутри виртуальной машины Java.

  • Перенести код — этот метод включает в себя исходный код Java, а затем преобразует его в C#. Это можно сделать вручную или с помощью автоматизированного средства, такого как «резкость».

Основой первых двух методик является собственный интерфейс Java (JNI). JNI — это платформа, которая позволяет приложениям, не написанным на Java, взаимодействовать с кодом Java, выполняемым в виртуальная машина Java. Xamarin. Android использует JNI для создания привязок для кода C#.

Первый способ — это более автоматизированный декларативный подход к привязке библиотек Java. он включает в себя Visual Studio для Mac или тип проекта Visual Studio, предоставляемый Xamarin. Android — библиотека привязок Java. Для успешного создания этих привязок библиотека привязок Java может по-прежнему требовать внесения некоторых изменений вручную, но не так, как это было бы в чистом JNIм подходе. Дополнительные сведения о библиотеках привязки Java см. в разделе Привязка библиотеки Java .

Второй метод, использующий JNI, работает на более низком уровне, но может обеспечить более точный контроль и доступ к методам Java, которые обычно не будут доступны через библиотеку привязки Java.

Третья методика совершенно отличается от предыдущих двух: перенос кода из Java в C#. Перенос кода с одного языка на другой может оказаться очень трудоемким процессом, но можно уменьшить эти усилия с помощью средства, именуемого « резкость». Резкость — это средство с открытым исходным кодом, которое является преобразовательом Java в-C #.

Итоги

В этом документе представлен общий обзор некоторых различных способов повторного использования библиотек из Java в приложении Xamarin. Android. В нем появились концепции привязок и управляемых вызываемых оболочек, а также обсуждаются варианты переноса кода Java в C#.