Xamarin. Android ile Java tümleştirmesi
Java ekosistemi, farklı bir bileşen koleksiyonu içerir. Bu bileşenlerin birçoğu, bir Android uygulaması geliştirmek için gereken süreyi azaltmak için kullanılabilir. Bu belge, geliştiricilerin Xamarin. Android uygulama geliştirme deneyimini geliştirmek için bu mevcut Java bileşenlerini kullanabilecekleri bazı yollarla ilgili yüksek düzeyde bir genel bakış sunar.
Genel Bakış
Java ekosisteminin kapsamı verildiğinde, Xamarin. Android uygulaması için gereken tüm işlevler Java 'da zaten kodlanmış olabilir. Bu nedenle, Xamarin. Android uygulaması oluştururken bu mevcut kitaplıkları denemek ve yeniden kullanmak çok önemlidir.
Bir Xamarin. Android uygulamasında Java kitaplıklarını yeniden kullanmanın üç olası yolu vardır:
Java bağlamaları kitaplığı oluşturma – bu teknikle, Java türleri etrafında C# sarmalayıcıları oluşturmak Için bir Xamarin. Android projesi kullanılır. Bir Xamarin. Android uygulaması daha sonra bu proje tarafından oluşturulan C# sarmalayıcısına başvurabilir ve sonra dosyayı kullanabilir
.jar.Java Native Interface – Java NativeInterface (JNI), Java olmayan kodun (C++ veya C# gibi) bir JVM içinde çalışan Java kodu tarafından çağrılması veya çağrılması için izin veren bir çerçevedir.
Kod bağlantı noktası – bu yöntem Java kaynak kodu almayı ve sonra C# ' ye dönüştürmeyi içerir. Bu, el ile veya keskinleştirme gibi otomatikleştirilmiş bir araç kullanılarak yapılabilir.
Birinci iki tekniği çekirdekli Java Native Interface (JNI). JNı, Java 'da yazılmayan uygulamaların bir Java Sanal Makinesi çalışan Java koduyla etkileşime geçmesini sağlayan bir çerçevedir. Xamarin. Android, C# kodu için bağlama oluşturmak üzere JNI kullanır.
İlk teknik, Java kitaplıklarını bağlamaya yönelik daha otomatikleştirilmiş ve bildirime dayalı bir yaklaşımdır. Mac için Visual Studio veya Xamarin. Android tarafından sunulan bir Visual Studio proje türünün kullanılması gerekir – Java bağlama kitaplığı. Bu bağlamaları başarılı bir şekilde oluşturmak için, bir Java bağlama kitaplığı bazı el ile değişiklikler gerektirebilir, ancak bu, saf bir JNı yaklaşımına neden olabilir. Java bağlama kitaplıkları hakkında daha fazla bilgi için bkz. Java kitaplığı bağlama .
JNı kullanmanın ikinci tekniği çok daha düşük bir düzeyde çalışır, ancak normalde Java bağlama kitaplığı aracılığıyla erişilebilen Java yöntemlerine daha hassas denetim ve erişim sağlayabilirsiniz.
Üçüncü teknik, önceki iki sunucudan daha uygun bir şekilde farklıdır: kod Java 'dan C# ' ye taşıma. Kodu bir dilden diğerine taşıma işlemi çok laborious bir işlem olabilir, ancak keskinleştirmeadlı bir aracın yardımıyla bu çabayı azaltmak mümkündür. Keskinleştirme, Java 'dan C # dönüştürücüsü olan açık kaynaklı bir araçtır.
Özet
Bu belge, Java 'daki kitaplıkların bir Xamarin. Android uygulamasında yeniden kullanılabilmesi için bazı farklı yollarla yüksek düzeyde bir genel bakış sağladı. Bağlamaların ve yönetilen çağrılabilir Sarmalayıcıların kavramlarını ve Java kodunu C# ' a taşıma seçeneklerini tanıtılmıştır.