在编写NAPI时,如果想要返回一个C对象,该如何处理?我看没有类似的示例可参考?
在编写NAPI时,比如下面的方法:
std::shared_ptr<FaceActionEstimation> faceActionEstimation_;
static napi_value SetUpPredictorTest(napi_env env, napi_callback_info info) {
if ((nullptr == env) || (nullptr == info)) {
OH_LOG_Print(LOG_APP, LOG_ERROR, 0xFF00, "JKSetUpPredictor", "env or exports is null");
return nullptr;
}
// 参数个数
size_t argc = 1;
// 声明参数数组
napi_value args[1] = {nullptr};
// 获取传入的参数并将其放入参数数组中
if (napi_ok != napi_get_cb_info(env, info, &argc, args, nullptr, nullptr)) {
OH_LOG_Print(LOG_APP, LOG_ERROR, 0xFF00, "JKSetUpPredictor", "napi_get_cb_info failed");
return nullptr;
}
// 将传入的参数转换类型
char *faceDetectModelDirChar;
size_t length;
if (napi_ok != napi_get_value_string_utf8(env, args[0], faceDetectModelDirChar, 0, &length)) {
OH_LOG_Print(LOG_APP, LOG_ERROR, 0xFF00, "JKSetUpPredictor", "napi_get_value_string_utf8 failed");
return nullptr;
}
// 将char*转为std::string类型
std::string faceDetectModelDir = faceDetectModelDirChar;
faceActionEstimation_.reset(new FaceActionEstimation(faceDetectModelDir));
return faceActionEstimation_;
}
class FaceActionEstimation {
public:
FaceActionEstimation(const std::string &fdtModelDir);
~FaceActionEstimation() = default;
std::array<float, 7> process(const cv::Mat &image, int stage, int action_type);
)
在HarmonyOS的NDK中,我不知道如何返回这个实例,返回以后又该在arkTS端如何接收?接收以后如何进行下一步调用它的process处理方法?
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
如何通过 napi 获取一个 C++ map 类型的对象
1894浏览 • 1回复 待解决
#鸿蒙通关秘籍#如果我想要在DevEco Studio中添加一个新的模块,我该怎么做?
62浏览 • 1回复 待解决
HarmonyOS napi C++侧怎么通过一个“ClassName” 初始化一个ArkTS的对象
368浏览 • 1回复 待解决
#鸿蒙通关秘籍#如果我想要删除一个模块,DevEco Studio会帮我处理相关的依赖关系吗?
157浏览 • 1回复 待解决
HarmonyOS napi如何传递一个对象,然后C++侧调用这个对象内部的回调方法
427浏览 • 1回复 待解决
#鸿蒙通关秘籍#如果我想要创建一个服务卡片,DevEco Studio提供了哪些模板?
100浏览 • 2回复 待解决
Napi中的方法如何返回一个数组类型?
322浏览 • 1回复 待解决
如果做一个HarmonyOS IOT的仿真程序,该如何实现?
11821浏览 • 2回复 待解决
如何编写一个可继承的Page?
349浏览 • 1回复 待解决
#鸿蒙通关秘籍#如果我想要让我的服务卡片支持动态效果,我该怎么做?
121浏览 • 1回复 待解决
HarmonyOS 需要一个类似商城的我的页面
292浏览 • 1回复 待解决
HarmonyOS 有没有代码混淆的示例可以参考
66浏览 • 1回复 待解决
编写一个页面,实现吸顶效果
1135浏览 • 1回复 待解决
编写一个页面,实现不规则列表
781浏览 • 1回复 待解决
如果想要实现一个全局@Builder,并且可以进行赋值和传递,应该如何去实现?
502浏览 • 1回复 待解决
编写一个工程,进行Native XComponent开发
718浏览 • 1回复 待解决
HarmonyOS 能不能提供一个类似excel,可滑动表格的demo呢?
253浏览 • 1回复 待解决
Redis如何处理高并发下对一个数据的访问?
3465浏览 • 1回复 待解决
编写C++代码时,没有自动补全,点击变量或方法时不能快速定位
416浏览 • 1回复 待解决
HarmonyOS 如何返回一个颜色?
283浏览 • 1回复 待解决
#鸿蒙通关秘籍#咱有一个问题,是如果加页面加出现问题,DevEco Studio会有哪些错误提示供我参考?
95浏览 • 1回复 待解决
如何在C层获取一个hashmap或者自定义对象数据
2048浏览 • 0回复 待解决
蓝牙连接报错该如何处理?
434浏览 • 1回复 待解决
JS如可开发一个可横向拖动的表格
6358浏览 • 1回复 待解决
想要实现一个图片裁剪的功能
374浏览 • 1回复 待解决
在NDK中向ArkTS返回C++对象并调用对应的方法可以参考如下文档:https://gitee.com/openharmony/docs/blob/master/zh-cn/application-dev/napi/use-napi-object-wrap.md
C++直接调用process方法,只将结果返回给 arkTs 使用,可以使用如下方式:
Node-API支持的数据类型和接口可以参考:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/napi-data-types-interfaces-V5