JNI - Jak vytvořit knihovnu pro různé třídy

hlasů
0

Jsem nový JNI, jsem vyvíjet nativní knihovny pro projekt Android. Četl jsem nějaké papíry o programování JNI, ale nechápal jsem, jestli je možné vytvořit knihovnu, která může být vložen do různých projektů třídách s různými balíčky. Četl jsem, že vyhlásit novou metodu JNI syntaxe je:

  • předpona „Java_“
  • kódovaný plně kvalifikovaný název třídy
  • podtržítka ( „_“) oddělovač
  • kódovaný název metody

Na základě této definice by nemělo být možné ...

Předpokládejme, že se definované třídy A v příbalovém balík1 s nativním metody foo obsažené v libfoo, a pak i definované v balíku Pkg2 třídy B. Mohu použít libfoo a metodu foo v B? Jak bych měl definovat nativní metody k dosažení výsledku?

Dík!

Položena 17/07/2010 v 16:00
zdroj uživatelem
V jiných jazycích...                            


2 odpovědí

hlasů
2

V systému Android je doporučený způsob, jak zaregistrovat domorodce je použít JNI je RegisterNatives (), protože je to rychlejší, než vyhledávací mechanismus Java_ *.

A přitom byste měli být schopni registrovat stejnou nativní metody do několika tříd / balíků, pokud se vám líbí.

Odpovězeno 21/07/2010 v 13:23
zdroj uživatelem

hlasů
0

Podívejte se na JNI záhlaví pahýl generátor: http://download.oracle.com/docs/cd/E17476_01/javase/1.5.0/docs/tooldocs/windows/javah.html

Odpovězeno 17/07/2010 v 19:55
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more