convert vector to jobject in C++/JNI?

前端 未结 2 1725
情歌与酒
情歌与酒 2020-12-10 02:43

I am using Java native function -

public native ArrayList parseXML();

In C++ my native function -

vector<         


        
2条回答
  •  天涯浪人
    2020-12-10 02:51

    You would have to create a wrapper for the ArrayList in C++. Something like:

    vector  vec;
    
    jclass clazz = (*env).FindClass("java/util/ArrayList");
    jobject obj = (*env).NewObject(clazz, (*env).GetMethodID(clazz, "", "()V"));
    
    for (int n=0;n(vec[n]);
    
       jstring _str = (*env).NewStringUTF(str);
    
       (*env).CallVoidMethod(object, (*env).GetMethodID(clazz, "add", "(java/lang/Object)V"), _str);
    
    }
    
    return obj; 
    

    for further information see:

    http://download.oracle.com/javase/1.4.2/docs/guide/jni/spec/functions.html

提交回复
热议问题