Próbuję wykonać funkcję w Java (z C), który ma następujący podpis:JNI: Przekazywanie wielu parametrów w podpisie funkcyjnego dla GetMethodID
public void execute(int x, int y, int action);
Moim problemem jest zdefiniowanie podpisu funkcji w GetMethodID :
env->GetMethodID(hostClass, "execute", "(I;I;I;)V");
problem mA otrzymuję to:
W/dalvikvm(1849): Bogus method descriptor: (I;I;I;)V
W/dalvikvm(1849): Bogus method descriptor: (I;I;I;)V
D/dalvikvm(1849): GetMethodID: method not found: Lcom/device/client/HostConnection;.execute:(I;I;I;)V
nie jestem pewien, ho w, aby określić podpis metody w GetMethodID (dla 3 liczb całkowitych jako parametrów). Widziałem, jak ludzie używają ";" aby oddzielić parametry w innych wpisach dla klasy String i File, ale nic z elementami pierwotnymi, takimi jak liczba całkowita.
Jaki byłby właściwy sposób, aby to zrobić, proszę?
Dziękuję.
Wielkie dzięki! Pomogłeś mi rozwiązać mój problem, dziękuję! – Jary
To naprawdę przydatne łącze do rozwiązywania wszystkich problemów związanych z JNI, dziękuję! –
Jeśli jest publiczne wykonanie pustki (String x, int y); ? (Ljava/lang/String; I) V? Błąd ... – zszen