JNIを使用してC++からJavaにデータを送信しようとしています。
C++では次のようになります。
配列[0]: 文字列名="myName" int反復=16 フロート値=15 ...など
したがって、JNIを使用してJava上のすべてのデータを返したいので、これを試していますが、機能しません
JNIEXPORT jobjectArray JNICALL Java_com_testing_data_MainActivity_getDATA(JNIEnv * env、jobject obj)
{{
//1º一時オブジェクトを作成します
jobject dataClass
{{
jstring名;
ジントの反復;
jfloat値;
};
jobject tempObject = env->NewObject();
// Get data in c++ format int temp object type
std::vector<dataClass > data = getDataClass(); // First error, must be a c++ class, how could i get it?
// How much memory i need?
int dataSize = data.size();
// Reserve memory in java format
jint tempValues[dataSize];
jobjectArray tempArray = env->NewObjectArray(dataSize,dataClass,0); // 2º Error, it doesn 't create the class
// Temporal store data in jarray
for (int i = 0; i < dataSize ; i++)
{
tempArray[i].name = data[i].name;
tempArray[i].iterations = data[i].iterations;
tempArray[i].value = data[i].value;
}
return tempArray; // return temp array
}
データを含む構造/オブジェクトを返すためのこの手順は正しいですか?エラーを修正するにはどうすればよいですか?