Tôi đang tạo bản demo hoạt động toán học như cộng, trừ, nhân và chia bằng NDK.Android: Lấy số ngẫu nhiên từ phương thức JNI
Tôi có thể tạo thư viện và nhận phản hồi từ mã gốc nhưng kết quả không đúng, ý tôi là giá trị tĩnh ngẫu nhiên.
lớp Calculator.c
#include <stdio.h>
#include <jni.h>
jint
Java_com_example_jni_calculator_Calculator_add(JNIEnv* env, jint a, jint b) {
return (jint)(a + b);
}
jint
Java_com_example_jni_calculator_Calculator_substract(JNIEnv* env, jint a, jint b) {
return (jint)(a - b);
}
jint
Java_com_example_jni_calculator_Calculator_multiply(JNIEnv* env, jint a, jint b) {
return (jint)(a * b);
}
jint
Java_com_example_jni_calculator_Calculator_devide(JNIEnv* env, jint a, jint b) {
return (jint)(a/b);
}
Calculator.java lớp cho thư viện tải và khởi xướng phương pháp tự nhiên.
public class Calculator {
static {
System.loadLibrary("Calculator");
}
public native int add(int a, int b);
public native int substract(int a, int b);
public native int multiply(int a, int b);
public native int devide(int a, int b);
}
Tôi đang sử dụng mã dưới đây để hiển thị kết quả:
int num1 = Integer.parseInt(txtNumber1.getText().toString().trim());
int num2 = Integer.parseInt(txtNumber2.getText().toString().trim());
tvResult.setText(String.format("%1$d + %2$d is equals to %3$d", num1, num2, mCalculator.add(num1, num2)));
Output
http://marakana.com/forums/android/examples/49.html kiểm tra bản trình diễn này. – RobinHood
Tôi đã thêm một đối số thừa "jobject" vào phương thức của mã gốc và bây giờ nó hoạt động tốt. Cảm ơn bạn đã liên kết @RobinHood – Dharmendra