GetMethodID
işlev imzası parametresinde, özel bir sınıfın dizisini kabul ettiğim işlevin kimliğini nasıl belirleyebilirim?GetMethodID yöntem imza parametresinde sınıf dizisi nasıl belirlenir?
Ben imzası ile java bir fonksiyonu var:
void getData(ListDataClass[] arryData)
Ve GetMethodID işlevini kullanarak JNI'yı arayüzünden bu işlevin yöntem kimliği almak istiyorum. i şu şekilde işlev imzası parametrede belirttiğimiz Bunun için
:
"([myPackeg/ListDataClass)V"
Ama bu çalışmıyor ve ben Method Not Found
olarak istisna olsun. Dize sınıfı dizisini belirtirseniz aynı şey çalışır. Örneğin
Lclass/path/ClassName;
:
Eğer ana iş parçacığı gelen veya farklı bir iş parçacığı gelen diyorsun: (varsayarak C++ ve JNIEnv işaretçi olarak adlandırılan env) aşağıdaki gibi
Ardından yöntem bulabilirim? Farklı bir ileti dizisinden (yerel kodunuzda oluşturduğunuz bir iş parçacığı gibi) arama yapıyorsanız, başka şeyler yapmanız gerekir. –
@Alex Ne ek şeyler demekten bahsediyorsun? Farklı iş parçacığından arıyorum ve bir şeyler yanlış. – nabroyan