1
JNIの助けを借りて、整数値を生徒クラスのコンストラクタに渡したいのですが、期待どおりの出力が得られない可能性があります。
Student.java
JNIを使用してコンストラクタにデータを渡す方法
public class Student {
private int age;
public Student(int age) {
this.age = age;
}
public int getAge() {
return age;
}
}
StudentActivity.java
public class StudentActivity extends AppCompatActivity {
static {
System.loadLibrary("native-lib");
}
protected Student student;
public static native Student getStudentInfo();
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_student);
student = getStudentInfo();
Log.d("TAG_DATA",String.valueOf(student.getAge()));
}
}
student.cpp
JNIEXPORT jobject JNICALL
Java_com_kishandonga_jni_1expriment_Design_StudentActivity_getStudentInfo(JNIEnv *env,
jclass type) {
jclass fStudentClass = env->FindClass("com/kishandonga/jni_expriment/Model/Student");
jmethodID constructor = env->GetMethodID(fStudentClass, "<init>", "(I)V");
jobject nStdClass = env->NewObject(fStudentClass, constructor, 13);
env->CallVoidMethod(nStdClass, constructor);
return nStdClass;
}
は、あなたの答えをありがとう試してみてください –