Java android JNI:应用程序停止工作
我不熟悉android编程,我认为应用程序停止工作的原因在于这里->我想将字符数组从JNI(c)返回到android(java) 因为我想把任何输出放在文本视图中Java android JNI:应用程序停止工作,java,android,c,android-ndk,java-native-interface,Java,Android,C,Android Ndk,Java Native Interface,我不熟悉android编程,我认为应用程序停止工作的原因在于这里->我想将字符数组从JNI(c)返回到android(java) 因为我想把任何输出放在文本视图中 t3.setText(HelloWorld(str)); 程序在模拟器上运行,但一旦我在EditText中输入某个内容并按下按钮,它就会停止响应,然后关闭。可能只是输入错误,但我认为必须在第二个循环中使用k作为索引 你有: for(int c=0;c<length;c++) { for (int k = 0; k &
t3.setText(HelloWorld(str));
程序在模拟器上运行,但一旦我在EditText中输入某个内容并按下按钮,它就会停止响应,然后关闭。可能只是输入错误,但我认为必须在第二个循环中使用k作为索引 你有:
for(int c=0;c<length;c++) {
for (int k = 0; k < 36; k++) {
if (a[c] == string2[j]) {
S[c]=string2[j];
}
}
}
(*env)->ReleaseStringUTFChars(env, jstring1, str);
return (*env)->NewStringUTF(env,S);
for(int c=0;cReleaseStringUTFChars(env,jstring1,str);
return(*env)->NewStringUTF(env,S);
它应该是:
for(int c=0;c<length;c++) {
for (int k = 0; k < 36; k++) {
if (a[c] == string2[k]) {
S[c]=string2[k];
}
}
}
(*env)->ReleaseStringUTFChars(env, jstring1, str);
return (*env)->NewStringUTF(env,S);
for(int c=0;cReleaseStringUTFChars(env,jstring1,str);
return(*env)->NewStringUTF(env,S);
请注意内部循环中的更改。问题仍然存在,是否确定通过“return(*env)->NewStringUTF(env,S)”返回结果的正确方法是正确的吗?不,我在构建和运行项目时没有收到任何错误,当我输入文本并点击enter PS时,它会在模拟器中停止响应一段时间。我还尝试使用不同的模拟器。请发布涉及这些方法的完整代码,以便我们可以尝试并重现该案例。
for(int c=0;c<length;c++) {
for (int k = 0; k < 36; k++) {
if (a[c] == string2[j]) {
S[c]=string2[j];
}
}
}
(*env)->ReleaseStringUTFChars(env, jstring1, str);
return (*env)->NewStringUTF(env,S);
for(int c=0;c<length;c++) {
for (int k = 0; k < 36; k++) {
if (a[c] == string2[k]) {
S[c]=string2[k];
}
}
}
(*env)->ReleaseStringUTFChars(env, jstring1, str);
return (*env)->NewStringUTF(env,S);