我有这个jvalue类型的数组,我想分配字符串值。
我正在尝试使用JNI库
将参数传递给我的Java函数 jvalue[] myArray = new jvalue[2];
myArray[0]="abcd";
myArray[1]="khan";
gui.text= AndroidJNI.CallStaticStringMethod(obj_Activity, startAdsMethod, myArray);
如何实现上述代码?
我在为数组赋值时遇到错误,因为数组不是字符串类型我的函数接受字符串参数而jni想要数组形式。
答案 0 :(得分:1)
以下代码创建一个数组并分配一些字符串以用于以下任何JNI调用:
var arguments = new object[2];
foreach( var entry in variables ) {
using( var key = new AndroidJavaObject( "java.lang.String", entry.Key ) ){
using( var val = new AndroidJavaObject( "java.lang.String", entry.Value ) ){
arguments[0] = key;
arguments[1] = val;
[... do something with the array ...]
}
}
}