2012-03-11 14 views
2

これは初心者の質問のように聞こえるかもしれませんが、JavaからJNI C++に渡されたオブジェクトの配列を読み、反復する正しい方法を知りたいと思います。例についてJavaからJNIに渡されたオブジェクトの配列を読み取る方法

、オブジェクトは署名有する:

public class Node{ 
    public String name; 
    public long uniqueId; 
    public int rank; 
} 

およびIは、ネイティブメソッドに10個のノードオブジェクトの配列を渡す:私はオブジェクトを通して反復したい

nativeParse(nodes); 

私のC++コードで使用できるように、データから新しいC++オブジェクトを作成します。

助けていただけたら幸いです!仮定すると、

答えて

3

newNodes[]あるオブジェクトのあなたのC++配列である、あなたはこのような何か試すことができます。

JNIEXPORT void JNICALL nativeParse(JNIEnv *env, jint size, jobjectArray nodes) 
    { 
    for(int i=0; i < size; i++) 
     newNodes[i]= (jobject) env->GetObjectArrayElement(nodes, i); 
    } 
+0

お返事をありがとう、しかし、どのように私はしかし、オブジェクト内部のフィールドにアクセスできますか? –

+0

こちらをご覧ください:http://stackoverflow.com/questions/2630529/jni-how-to-access-java-object-integer – Juvanis

+0

ありがとう!わかった! –

関連する問題