NDK JNI C++类型转java类型

1、 C++ Int型数组 -> java int数组

int ids[size];
 for (int i = 0; i < size; ++i){           
     ids[i] = i+10;
 }
jintArray javaArr = env->NewIntArray(size);
env->SetIntArrayRegion(javaArr,0,size,ids);
return javaArr;

2、 C++ String -> java String

std::string fileStr;
if (fileStr.c_str()!= nullptr){
     jstring filename = env->NewStringUTF(fileStr.data());
     return filename;
 } 
 return null;

3、 C++ Vector -> java 数组

void EditCallback::OnShape(ShapeType shapeType, std::vector<float> vecFeature) {
          if (!vecFeature.empty()) {
                int size = vecFeature.size();      
                jfloatArray features = env->NewFloatArray(size);
                env->SetFloatArrayRegion(features, 0, size, vecFeature.data());
                env->CallVoidMethod(objCallback,
                                    CallBackJniData::editCallBack_onShape_MethodId,
                                    (int) shapeType,features);
            }
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容