Bagikan melalui


Integrasi Java dengan Xamarin.Android

Ekosistem Java mencakup beragam dan koleksi komponen yang sangat besar. Banyak komponen ini dapat digunakan untuk mengurangi waktu yang diperlukan untuk mengembangkan aplikasi Android. Dokumen ini akan memperkenalkan dan memberikan gambaran umum tingkat tinggi tentang beberapa cara pengembang dapat menggunakan komponen Java yang ada ini untuk meningkatkan pengalaman pengembangan aplikasi Xamarin.Android mereka.

Gambaran Umum

Mengingat sejauh mana ekosistem Java, sangat mungkin fungsionalitas tertentu yang diperlukan untuk aplikasi Xamarin.Android telah dikodekan di Java. Karena itu, menarik untuk mencoba dan menggunakan kembali pustaka yang ada ini saat membuat aplikasi Xamarin.Android.

Ada tiga cara yang mungkin untuk menggunakan kembali pustaka Java dalam aplikasi Xamarin.Android:

  • Buat Java Bindings Library – Dengan teknik ini, proyek Xamarin.Android digunakan untuk membuat pembungkus C# di sekitar jenis Java. Aplikasi Xamarin.Android kemudian dapat mereferensikan pembungkus C# yang dibuat oleh proyek ini, lalu menggunakan .jar file .

  • Java Native InterfaceJava NativeInterface (JNI) adalah kerangka kerja yang memungkinkan kode non-Java (seperti C++ atau C#) untuk memanggil atau dipanggil oleh kode Java yang berjalan di dalam JVM.

  • Port Kode - Metode ini melibatkan pengambilan kode sumber Java, lalu mengonversinya ke C#. Ini dapat dilakukan secara manual, atau dengan menggunakan alat otomatis seperti Sharpen.

Inti dari dua teknik pertama adalah Java Native Interface (JNI). JNI adalah kerangka kerja yang memungkinkan aplikasi tidak ditulis dalam Java untuk berinteraksi dengan kode Java yang berjalan di Java Virtual Machine. Xamarin.Android menggunakan JNI untuk membuat pengikatan untuk kode C#.

Teknik pertama adalah pendekatan yang lebih otomatis dan deklaratif untuk mengikat pustaka Java. Ini melibatkan penggunaan Visual Studio untuk Mac atau jenis proyek Visual Studio yang disediakan oleh Xamarin.Android – Java Bindings Library. Agar berhasil membuat pengikatan ini, Pustaka Pengikatan Java mungkin masih memerlukan beberapa modifikasi manual, tetapi tidak sebanyak pendekatan JNI murni. Lihat Mengikat Pustaka Java untuk informasi selengkapnya tentang pustaka Java Binding.

Teknik kedua, menggunakan JNI, bekerja pada tingkat yang jauh lebih rendah, tetapi dapat menyediakan kontrol dan akses yang lebih baik ke metode Java yang biasanya tidak dapat diakses melalui Java Binding Library.

Teknik ketiga secara radikal berbeda dari dua sebelumnya: porting kode dari Java ke C#. Porting kode dari satu bahasa ke bahasa lain bisa menjadi proses yang sangat melelahkan, tetapi dimungkinkan untuk mengurangi upaya itu dengan bantuan alat yang disebut Sharpen. Sharpen adalah alat sumber terbuka yang merupakan konverter Java-to-C#.

Ringkasan

Dokumen ini memberikan gambaran umum tingkat tinggi tentang beberapa cara berbeda agar pustaka dari Java dapat digunakan kembali dalam aplikasi Xamarin.Android. Ini memperkenalkan konsep pengikatan dan pembungkus yang dapat dipanggil terkelola, dan mendiskusikan opsi untuk porting kode Java ke C#.