当前位置: 首页 > news >正文

合肥网站建设方案策划互联免费虚拟主机

合肥网站建设方案策划,互联免费虚拟主机,制作网站用c#做前台,广西网站建设价格文章目录 Native适配开发三方库的基本使用 🏡作者主页:点击! 🤖HarmonyOS专栏:点击! ⏰️创作时间:2024年12月09日11点12分 Native适配开发 Node-API HarmonyOS Node-API 是 HarmonyOS 提供的…

文章目录

    • Native适配开发
    • 三方库的基本使用

https://i-blog.csdnimg.cn/blog_migrate/58966ddd9b29aabe8841f5ec34f0d31c.gif

🏡作者主页:点击!

🤖HarmonyOS专栏:点击!

⏰️创作时间:2024年12月09日11点12分

在这里插入图片描述

Native适配开发

Node-API

HarmonyOS Node-API 是 HarmonyOS 提供的ArkTS JS C C++ 跨语言调用的接口,在Node.js提供的Node-API基础上扩展而来的,但与其并不完全兼容

  • ArkTS Native Module 是提供给开发者使用 Node-API开发的模块,主要用于实现 Native 侧业务逻辑
  • ModuleManager:管理对象模块,ArkTS调用C++时,会加载Native侧到ModuleManager,转换为ArkTS对象返回上层
  • ScopeManager:用于管理 napi_value 生命周期,napi_value 是Node-API独特的数据类型,类似于ArkTS 中的 number、string等各种数据类型的统一表现形式,在 Native 代码开发中不需要感知不同的数据类型,统一都是 napi_value
  • ReferenceManager:用于管理引用,开发时遇到的跨进程场景,这时就需要创建引用 napi_ref,否则就会被垃圾回收掉。napi_ref用于指向napi_value,允许用户管理 napi_value 的生命周期
  • Native Engine作用主要统一ArkTS引擎在 Node-API 接口行为

Node-API关键交互流程

  • 模块初始化
    1. ArkTS侧在import一个so库的时候,先找到ArkTS引擎,之后会加载模块到 ModuleManager,对应就是dlopen函数注意:知识首次调用时加载,多次import会去缓存找
    2. 之后ModuleManager把模块信息返回ArkTS引擎。
    3. ArkTS拿到模块信息后,在native层触发模块注册,初始化模块,之后调用C++的方法
  • 函数调用
    1. ArkTS通过上述import返回对象调用方法,ArkTS引擎会找到并调用对应的C/C++方法

Node-API数据类型

  • napi_status:枚举数据类型
  • napi_value:独特的数据类型,类似于ArkTS中的number、String类型
  • napi_env:表示Node-API执行时上下文,传递函数中Node-API接口。退出Native侧时,napi_env将失效
  • napi_callback_info:native侧函数的入参,保存ArkTS侧参数信息,传递给napi_get_cb_info()函数获取ArkTS侧入参信息

Node-API接口

  • napi_get_cb_info:给定的napi_callback_info 中获取有关调用的详细信息
  • napi_get_value_double:获取给定ArkTS的number类型值
  • napi_create_string_utf8:通过UTF8编码的C字符串数据创建ArkTS侧string类型的数据

Node-API典型场景开发

使用Node-API进行同步任务开发

  • 应用侧在调用Native接口后,将会被阻塞等待Native侧计算结果

使用Node-API进行异步任务开发

  • 应用侧在调用Native接口后,会收到临时结果,并继续执行UI操作,Native侧将异步执行业务逻辑,不阻塞应用侧

使用Node-API进行线程安全开发

  • ArkTS天然线程安全,而Native侧代码需要开发者自行保障线程安全,Native侧C++子线程不可跨线程直接访问 ArkTS 对象
  • Node-API提供了可保障线程异步执行与通信安全的机制——线程安全函数

三方库的基本使用

ohpm下载

ohpm安装完成之后在安装的根目录下面 oh-package.json5文件中可找到 @ohos/lottie的配置信息,在oh_modules下的 @ohos 目录找到包的存放位置

  • 构建渲染上下文:renderingContext为构建的上下文
  • 准备JSON文件文件中描述了动画具体路径
  • 关联画布,创建Canvas,绑定renderingContext,并且需要给画布设置一个初始图片背景
  • 加载动画,传入之前定义的 Canvas、上下文、JSON文件
http://www.yayakq.cn/news/459032/

相关文章:

  • 网站开发主框架一般用什么布局巨量算数官方入口
  • 推销商务网站的途径有哪些做的网站为什么图片看不了怎么回事
  • dw怎么做网站注册登入页面如何说明学校网站建设情况
  • 做苗木选择哪个网站宁波网站建设联系荣胜
  • 自己做的网站 360不兼容2023小规模企业所得税税率是多少
  • 个人网站审批株洲网站制作公司
  • 优化网站推广教程整站网站建设属于广告费吗
  • 外包类设计网站关键词首页排名优化
  • 网站开发 免代码网站制作公司交接
  • 基于php技术的网站建设新手如何学做网站
  • 软装设计网络课程连云港网站关键字优化如何
  • 碧辉腾乐 网站建设云南官网制作
  • 如何创建自己的网站链接wordpress手动主题
  • 网站开发需求分析包括哪些方面全国企业信用信息公示系统山西
  • 怎么建设像天猫的网站专门型网站
  • 四川工程建设项目一般挂什么网站网络设计包括哪些
  • 诚信网站认证怎么做电子商务网站建设与管理学习心得
  • 信誉好的商城网站建设网站程序和空间区别
  • 建设电子票务系统的网站需要多少钱做经营性的网站备案条件
  • 郑州东区做网站电话怎么搜索整个网站内容
  • 管理咨询网站建设网站建设违法行为
  • 辽宁省住房和城乡建设部网站主页建设银行成都 招聘网站
  • 网站建设改版攻略app软件开发专业公司
  • 舟山论坛网站建设公司推广咨询
  • 域名申请后怎么建网站如何利用网站开发客户
  • 常州建站优化织梦手机网站怎么安装教程视频教程
  • 阜阳网站制作公司哪里有建设网站的需要学习哪些课程
  • 网后台的网站怎么做WordPress文字添加
  • 更换网站模板网站设计怎么做
  • 做网站怎样调用支付宝接口网站开发2019