2012-06-06 212 views
0

我有這個jvalue類型的數組,我想分配字符串值。JNI賦值給數組

我在團結嘗試使用JNI庫

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

如何實現上面的代碼將參數傳遞給我的Java功能?

由於數組不是字符串類型,我得到的錯誤,同時分配值的數組,因爲我的功能需要字符串參數和jni希望他們的數組形式。

+1

[StackOverflow的是不是一個讀心術](http://meta.stackexchange.com/a/ 128551) – EJP

回答

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