First page Back Continue Last page Overview Graphics
JNI 2
Příklady volání nativních metod // NativeTest.java
- Datové typy (jobject, jclass, jstring, jint, ..., jintArray, ...)
- Názvy metod, volání, vyjímky, datové složky, parametry
- JNIEnv, jclass (statické metody), jobject (nestatické), “parametry”
- GetXxxField, GetStaticXxxField, SetXxxField, SetStaticXxxField
- CallXxxMethod, CallStaticXxxMethod, NewObject
- CallNonvirtualXxxMethod, CallXxxMethodA/V, NewObjectA/V,
- Získávání identifikátoru metody/atributu
- GetMethodID, GetFieldID – náročné, platné pouze v rámci volání nebo lze vytvořit globální referenci (New/DeleteGlobalRef) – z id lze zpět získat referenci na objekt (From/ToReflectedMethod/Field)
- Pole
- GetArrayLength, Get/SetObjectArrayElement, Get/SetXxxArrayElements, ReleaseXxxArrayElements, Get/SetXxxArrayRegion
- Inicializace/ukončení knihovny – JNI_OnLoad, JNI_UnLoad
- Práce se String, pole (prim. dat. typ., objekty)
- Class signatures – javap -s (-c pro bytecode)
- Vyjímky
- Throw, ThrowNew, ExceptionOccurred, ExceptionCheck, ExceptionClear
- Volání Java z C, synchronizace (MonitorEnter/Exit), ...