Integrace Javy s Xamarin.Androidem

Ekosystém Javy zahrnuje rozmanitou a obrovskou kolekci komponent. Mnohé z těchto komponent lze použít ke zkrácení doby, která je potřeba k vývoji aplikace pro Android. Tento dokument vám představí a poskytne základní přehled některých způsobů, jak mohou vývojáři používat tyto stávající komponenty Jazyka Java ke zlepšení vývojového prostředí aplikací Xamarin.Android.

Přehled

Vzhledem k rozsahu ekosystému Java je velmi pravděpodobné, že všechny dané funkce vyžadované pro aplikaci Xamarin.Android už byly kódovány v Javě. Z tohoto důvodu je atraktivní vyzkoušet a znovu použít tyto existující knihovny při vytváření aplikace Xamarin.Android.

Existují tři možné způsoby opětovného použití knihoven Java v aplikaci Xamarin.Android:

  • Vytvoření knihovny vazeb Java – s touto technikou se projekt Xamarin.Android používá k vytváření obálek jazyka C# kolem typů Java. Aplikace Xamarin.Android pak může odkazovat na obálky jazyka C# vytvořené tímto projektem a pak použít .jar soubor .

  • Java Native InterfaceJNI (Java NativeInterface) je rozhraní, které umožňuje volat nebo volat kód mimo Javu (například C++ nebo C#) v jazyce Java spuštěný v prostředí JVM.

  • Portovat kód – tato metoda zahrnuje převzetí zdrojového kódu Java a jeho převod na C#. Můžete to provést ručně nebo pomocí automatizovaného nástroje, jako je třeba ostřejší.

Jádrem prvních dvou technik je JNI (Java Native Interface). JNI je rozhraní, které umožňuje aplikacím, které nejsou napsané v jazyce Java, pracovat s kódem Java běžící v prostředí Java Virtual Machine. Xamarin.Android používá JNI k vytváření vazeb pro kód jazyka C#.

První technika je automatizovanější a deklarativní přístup k vytváření vazeb knihoven Java. Zahrnuje použití typu Visual Studio pro Mac nebo Visual Studio, který poskytuje Xamarin.Android – knihovna vazeb Java. Pro úspěšné vytvoření těchto vazeb může knihovna vazeb Java stále vyžadovat určité ruční úpravy, ale ne tolik jako čistý přístup JNI. Další informace o knihovnách vazeb Java najdete v tématu Vytvoření vazby knihovny Java.

Druhá technika, která používá JNI, funguje na mnohem nižší úrovni, ale může poskytovat jemnější kontrolu a přístup k metodám Java, které by normálně nebyly přístupné prostřednictvím knihovny vazeb Java.

Třetí technika se výrazně liší od předchozích dvou: přenos kódu z Javy do jazyka C#. Přenos kódu z jednoho jazyka do jiného může být velmi pracný proces, ale toto úsilí je možné omezit pomocí nástroje s názvem Sharpen. Zostření je open source, který je převaděč java-to-C#.

Souhrn

Tento dokument poskytuje základní přehled některých různých způsobů, jakými je možné knihovny z Javy opakovaně používat v aplikaci Xamarin.Android. Představila koncepty vazeb a spravovaných volatelných obálek a probrala možnosti přenosu kódu Java do jazyka C#.