Tôi cố gắng để thực hiện một chức năng trong Java (từ C) có chữ ký sau đây:JNI: Đi qua nhiều tham số trong chữ ký chức năng cho GetMethodID
public void execute(int x, int y, int action);
Vấn đề của tôi là xác định chữ ký chức năng trong GetMethodID :
env->GetMethodID(hostClass, "execute", "(I;I;I;)V");
vấn đề tôi ma nhận được là:
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
tôi không chắc chắn ho w để xác định chữ ký phương thức trong GetMethodID (cho 3 số nguyên làm tham số). Tôi thấy mọi người sử dụng ";" để phân tách các tham số trong các bài viết khác cho lớp String và File, nhưng không có gì với các số nguyên thủy như số nguyên.
Cách chính xác để thực hiện việc này là gì?
Cảm ơn bạn.
Cảm ơn rất nhiều! Bạn đã giúp tôi giải quyết vấn đề của tôi, cảm ơn bạn! – Jary
Đó là một liên kết thực sự hữu ích để giải quyết mọi vấn đề của JNI, cảm ơn bạn! –
Nếu là khoảng trống công khai (Chuỗi x, int y); ? (Ljava/lang/String; I) V? Lỗi .... – zszen