0

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

我正在统一尝试使用 JNI 库将参数传递给我的 Java 函数

  jvalue[] myArray = new jvalue[2];
        myArray[0]="abcd";
        myArray[1]="khan";
        gui.text=   AndroidJNI.CallStaticStringMethod(obj_Activity, startAdsMethod, myArray);

如何实现上面的代码?

我在为数组赋值时遇到错误,因为数组不是字符串类型,我的函数采用字符串参数,而 jni 希望它们以数组的形式出现。

4

1 回答 1

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 ...]
        }
    }
}
于 2013-02-01T03:28:16.070 回答