Я успешно запустить свой JNI sample.Now я пытаюсь добавить два значения, но его сумма не является proper.I делится мой code.Please сказать мне, что не так я делаюСумма двух значений с использованием NDK андроидом
jint Java_com_example_hellojni_HelloJni_sumTwoValues(JNIEnv* env,jint a, jint b){
//_android_log_print("HelloJni", "values a", "%p", &a);
__android_log_print("HelloJni", "LOG_TAG", "Need to print : %d %d",a, b);
return (a+b);
}
И как я называю этот метод из своей деятельности следующим образом.
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
/* Create a TextView and set its content.
* the text is retrieved by calling a native
* function.
*/
TextView tv = new TextView(this);
tv.setText("Sum is ."+ sumTwoValues(15,7));
setContentView(tv);
}
/* A native method that is implemented by the
* 'hellojni' native library, which is packaged
* with this application.
*/
public native int sumTwoValues(int a,int b);
// Loading 'hellojni'
static {
System.loadLibrary("hellojni");
}
И текст Textview не является фиксированным. Каждый раз, когда я запускаю, каждый раз меняет текст. ex of sum i have is 363855916
может у вас, пожалуйста, скажите, какой тип значения использует собственный метод, если мы не добавляем jobject в качестве аргумента. – Manmohan
@Manmohan, если вы объявляете свой собственный метод как нестатический, или если используете статический jclass. Его кодирование, которое вам нужно соблюдать. –