JNI值赋值给数组

时间:2012-06-06 07:00:10

标签: java java-native-interface

我有这个jvalue类型的数组,我想分配字符串值。

我正在尝试使用JNI库

将参数传递给我的Java函数
  jvalue[] myArray = new jvalue[2];
        myArray[0]="abcd";
        myArray[1]="khan";
        gui.text=   AndroidJNI.CallStaticStringMethod(obj_Activity, startAdsMethod, myArray);

如何实现上述代码?

我在为数组赋值时遇到错误,因为数组不是字符串类型我的函数接受字符串参数而jni想要数组形式。

1 个答案:

答案 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 ...]
        }
    }
}