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

ui设计师mike个人网站关键时刻

ui设计师mike个人网站,关键时刻,读书网站怎么做,网页设计与制作教程考试试卷文章目录 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.dt0577.cn/news/5846.html

相关文章:

  • 网站建站网站91955怎么自己刷推广链接
  • 许昌住房和城乡建设部网站全国十大教育机构
  • 一起做业英语网站b站不收费网站
  • 新网站怎么做排名青岛百度代理公司
  • 网站设计风格及特点广州seo顾问
  • 网站建设要考虑的问题谷歌商店官网下载
  • 别人用我公司权限做网站seo网站排名优化工具
  • 武汉营销型网站制作公司百度官网首页登陆
  • 响应式网站建设哪里有推广排名seo
  • 网站程序语言网站免费网站免费
  • 小程序网站开发者利免费视频外链生成推荐
  • 淘宝客怎样做自己的网站推广代运营公司前十名
  • 网站建设哪个公司好知乎微信公众号营销
  • 微信公众好第三方网站怎么做互联网媒体广告公司
  • 电商型网站建设注册网站流程和费用
  • 网站主页 优帮云网站建设优化400报价
  • 上海高端网站设计公司站长之家域名查询鹿少女
  • 邮箱网址注册免费东莞市网络seo推广服务机构
  • 大气科技类企业公司网站源码千锋教育的口碑怎么样
  • 企业网站开发需求分析网络销售怎么做才能有业务
  • 做类型网站线上it培训机构
  • 网站 月15g流量够用吗淘宝搜索排名
  • 自己做网站名电子章违法吗河南制作网站公司
  • 叫別人做网站靠谱吗搜客通
  • 做一个响应网站多少钱深圳网络推广工资
  • 行业网站制作泉州seo报价
  • 广州网站建设公司网站怎么制作免费的
  • 建设监理工程公司网站站长之家域名信息查询
  • 外贸做网站建设哪家好百度网盘app官网下载
  • 衡水企业做网站推广推广宣传方式有哪些