OpenHarmony系统开发之应用接口文件转换工具介绍

news2024/11/27 14:46:31

简介:

应用接口文件转换工具是根据异构格式接口文件(.h 文件)转换生成 OpenHarmony 系统应用层需要的 TS(type-script)接口文件(*.d.ts)的工具。若某个服务实现方式为 c++,且供应用层访问的接口已在.h 文件中定义,此时,NAPI 接口开发者使用此工具可一键生成对应的 ts 文件,后续一方面应用开发者可直接调用相关的接口,另一方面系统框架开发者可根据生成的 TS 文件,使用 NAPI 框架生成代码工具,生成 NAPI 框架实现代码。应用接口文件转换工具支持 VS Code 插件、IntelliJ 插件两种入口。

使用场景

系统框架层新增子系统,需对应用层提供接口。
系统框架层子系统能力增强后,需对应用层提供新接口。
应用层引入 C++ 三方库,需增加 OpenHarmony 应用层接口。

获取方式

VS Code 插件获取方式

1.打开 VS Code,在左侧边栏中选择插件安装。

2.在应用商店搜索 ts-gen 插件,再单击安装。

3.安装完成后就会在 VS Code 的插件管理器中能看到 ts-gen 这个插件了。

IntelliJ 插件获取方式

1.IntelliJ 插件下载,路径如下

下载 IntelliJ 插件

2.安装插件,File->Settings->Plugins->Installed->Install Plugin from Disk...,选择下载的插件,安装成功之后重启 IDE。

使用方法

VS Code 插件使用方法

1.把需要转换的.h 文件放到任意目录下。

2.选择.h 文件,点击右键选择 Generate Ts Frame,工具弹出 Generate Ts Frame 弹窗。文件路径文本框填写.h 文件路径;输出目录选择文本框填写生成.d.ts 文件存放路径,点击 ok。

3.执行结束后会在 out 目录下生成.d.ts 代码文件。

IntelliJ 插件使用方法

1.把需要转换的.h 文件放在 DevEco stdio 新建项目的 src 目录下。

2.选择.h 文件,点击右键选择 Generate Ts Frame,工具弹出 Generate Ts Frame 弹窗,选择 Ts-Gen 页签。文件路径文本框填写.h 文件路径;输出目录选择文本框填写生成.d.ts 文件存放路径,点击 ok。

3.执行结束后会在输出目录下生成.d.ts 代码文件。

总结

本文介绍了根据使用者指定的.h 文件,工具会转换输出对应的 ts 接口文件。工具为开源工具,社区有对应的源码,欢迎大家进行交流。

对应的仓地址

最后

有很多小伙伴不知道学习哪些鸿蒙开发技术?不知道需要重点掌握哪些鸿蒙应用开发知识点?而且学习时频繁踩坑,最终浪费大量时间。所以有一份实用的鸿蒙(HarmonyOS NEXT)资料用来跟着学习是非常有必要的。 

这份鸿蒙(HarmonyOS NEXT)资料包含了鸿蒙开发必掌握的核心知识要点,内容包含了ArkTS、ArkUI开发组件、Stage模型、多端部署、分布式应用开发、音频、视频、WebGL、OpenHarmony多媒体技术、Napi组件、OpenHarmony内核、Harmony南向开发、鸿蒙项目实战等等)鸿蒙(HarmonyOS NEXT)技术知识点。

希望这一份鸿蒙学习资料能够给大家带来帮助,有需要的小伙伴自行领取,限时开源,先到先得~无套路领取!!

获取这份完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料

鸿蒙(HarmonyOS NEXT)最新学习路线

  •  HarmonOS基础技能

  • HarmonOS就业必备技能 
  •  HarmonOS多媒体技术

  • 鸿蒙NaPi组件进阶

  • HarmonOS高级技能

  • 初识HarmonOS内核 
  • 实战就业级设备开发

有了路线图,怎么能没有学习资料呢,小编也准备了一份联合鸿蒙官方发布笔记整理收纳的一套系统性的鸿蒙(OpenHarmony )学习手册(共计1236页)鸿蒙(OpenHarmony )开发入门教学视频,内容包含:ArkTS、ArkUI、Web开发、应用模型、资源分类…等知识点。

获取以上完整版高清学习路线,请点击→纯血版全套鸿蒙HarmonyOS学习资料

《鸿蒙 (OpenHarmony)开发入门教学视频》

《鸿蒙生态应用开发V2.0白皮书》

图片

《鸿蒙 (OpenHarmony)开发基础到实战手册》

OpenHarmony北向、南向开发环境搭建

图片

 《鸿蒙开发基础》

  • ArkTS语言
  • 安装DevEco Studio
  • 运用你的第一个ArkTS应用
  • ArkUI声明式UI开发
  • .……

图片

 《鸿蒙开发进阶》

  • Stage模型入门
  • 网络管理
  • 数据管理
  • 电话服务
  • 分布式应用开发
  • 通知与窗口管理
  • 多媒体技术
  • 安全技能
  • 任务管理
  • WebGL
  • 国际化开发
  • 应用测试
  • DFX面向未来设计
  • 鸿蒙系统移植和裁剪定制
  • ……

图片

《鸿蒙进阶实战》

  • ArkTS实践
  • UIAbility应用
  • 网络案例
  • ……

图片

 获取以上完整鸿蒙HarmonyOS学习资料,请点击→纯血版全套鸿蒙HarmonyOS学习资料

总结

总的来说,华为鸿蒙不再兼容安卓,对中年程序员来说是一个挑战,也是一个机会。只有积极应对变化,不断学习和提升自己,他们才能在这个变革的时代中立于不败之地。 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1556582.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

JavaScript之Class构造及继承的底层实现原理

笔者语 已经坚持发布技术文章一个月,得到了一些朋友的阅读与支持,我感到很荣幸,也是继续坚持下去的动力。工作很多年,今年才开始写技术类文章发表,因为以前总是担心写错,把错误的知识带给别人,对…

Docker 部署 FRP 内网穿透 实现端口映射

Frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议,且支持 P2P 通信。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。 官网地址:https://github.com/fatedier/frp 准备工作…

GeometryInstance点击改变颜色

目录 项目地址实现效果核心代码 项目地址 https://github.com/zhengjie9510/webgis-demo 实现效果 核心代码 // Draw different instances each with a unique color const rectangleInstance new Cesium.GeometryInstance({geometry: new Cesium.RectangleGeometry({recta…

学习鸿蒙基础(10)

目录 一、轮播组件 Swiper 二、列表-List 1、简单的List 2、嵌套的List 三、Tabs容器组件 1、系统自带tabs案例 2、自定义导航栏: 一、轮播组件 Swiper Entry Component struct PageSwiper {State message: string Hello Worldprivate SwCon: SwiperControl…

Kubernetes篇(一)— kubernetes介绍

目录 前言一、应用部署方式演变二、kubernetes简介三、kubernetes组件四、kubernetes概念 前言 本章节主要介绍应用程序在服务器上部署方式演变以及kubernetes的概念、组件和工作原理。 一、应用部署方式演变 在部署应用程序的方式上,主要经历了三个时代&#xff…

PS从入门到精通视频各类教程整理全集,包含素材、作业等(2)

PS从入门到精通视频各类教程整理全集,包含素材、作业等 最新PS以及插件合集,可在我以往文章中找到 由于阿里云盘有分享次受限制和文件大小限制,今天先分享到这里,后续持续更新 初级教程素材 等文件 https://www.alipan.com/s/fC…

哔哩哔哩直播姬有线投屏教程

1 打开哔哩哔哩直播姬客户端并登录(按下图进行操作) 2 用usb连接电脑(若跳出安装驱动的弹窗点击确定或允许),usb的连接方式为仅充电 不要更改usb的连接方式(不然电脑会死机需要重启),此时电脑识别不到该手机设备(因为电脑把它识别为投屏设备) 想要正常连接电脑进行文件传输就按…

沃尔玛百货有限公司 企业网页设计制作 企业html网页成品 跨国公司网页设计开发 web前端开发,html+css网页设计素材,静态html学生网页成品源码

沃尔玛百货有限公司 WalMart 7页面 企业主题 带jquery图片轮播特效 滚动文字 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns"http://www.w3.or…

Charles抓包配置代理手机连接

Charles下载地址&#xff1a; Charles_100519.zip官方版下载丨最新版下载丨绿色版下载丨APP下载-123云盘123云盘为您提供Charles_100519.zip最新版正式版官方版绿色版下载,Charles_100519.zip安卓版手机版apk免费下载安装到手机,支持电脑端一键快捷安装https://www.123pan.com…

哔哩哔哩直播姬第三方obs推流使用教程

1 obs studio下载(官方下载较慢) 链接&#xff1a;https://pan.baidu.com/s/1fIKJkieYIta0gG-sX7Cr6g?pwdz7s9 提取码&#xff1a;z7s9 2 打开哔哩哔哩直播姬客户端并登录(pc版) 3 打开obs客户端进行推流(如果推流不成功,可能是驱动的问题,记得更新下驱动) 首先添加播放源 …

SpringBoot整合腾讯云邮件发送服务非STMP

SpringBoot整合腾讯云邮箱服务 1、pom配置 <!-- 腾讯云邮箱服务--><dependency><groupId>com.tencentcloudapi</groupId><artifactId>tencentcloud-sdk-java</artifactId><!-- go to https://search.maven.org/search?qtencen…

Type-C接口取电解决方案LDR6500

随着科技的不断进步&#xff0c;Type-C接口已经成为现代电子设备中不可或缺的一部分。作为一种全新的接口标准&#xff0c;Type-C以其独特的设计和强大的功能&#xff0c;在数据传输和电力传输领域展现出了巨大的潜力。特别是在取电应用方面&#xff0c;Type-C接口正逐渐改变着…

C#手术麻醉系统源码 大型医院手麻系统4大需求是什么?

C#手术麻醉系统源码 大型医院手麻系统4大需求是什么&#xff1f; 手术麻醉临床信息系统有着完善的临床业务功能&#xff0c;能够涵盖整个围术期的工作&#xff0c;能够采集、汇总、存储、处理、展 现所有的临床诊疗资料。通过该系统的实施&#xff0c;能够规范手麻科的工作流程…

vue 内嵌第三方网页

需要将另一个系统嵌套到当前网页中 一、frame 方法一就是通过html的标签 iframe 实现网页中嵌入其他网站 标签属性 属性含义src嵌套的网页地址width设置嵌套网页的宽度&#xff0c;单位为像素height设置嵌套网页的高度&#xff0c;单位为像素frameborder控制嵌套的网页是否…

计算机网络—UDP协议详解:特性、应用

​ &#x1f3ac;慕斯主页&#xff1a;修仙—别有洞天 ♈️今日夜电波&#xff1a;マリンブルーの庭園—ずっと真夜中でいいのに。 0:34━━━━━━️&#x1f49f;──────── 3:34 &#x1f504; ◀…

路径规划——搜索算法详解(二):Floyd算法详解与MATLAB代码

上次总结了Dijkstra算法的案例原理与代码&#xff0c;本文分享第二种比较基础且易懂的方法为Floyd算法&#xff0c;该算法可以有效正确地处理有向图的最短路径问题&#xff0c;与Dijkstra算法不同&#xff0c;Floyd算法是一种动态规划算法&#xff0c;对于稠密图效果显著。原理…

【独立开发前线】Vol.26 【独立开发产品】吉光卡片-让你的文字变得酷炫起来

今天给大家分享一下 独立开发前线 社区成员张小吉 的作品 吉光卡片&#xff1b; 这是一款iOS的APP&#xff0c;下载&#xff1a;吉光卡片&#xff0c;主要功能是帮你制作酷炫的文字卡片&#xff0c;用精美的卡片让你的文字生动起来。 展示效果如下&#xff1a; 你可以用它制作…

中值定理错题本

1 2 一般要构造函数 3 4 5 6 ------------------------------ 7 8 9 10

virtualbox 设置虚拟机 centos 网络

在VirtualBox中为运行CentOS系统的虚拟机配置网络连接&#xff0c;您通常可以选择以下几种网络模式之一&#xff0c;以满足不同的网络需求&#xff1a; NAT (Network Address Translation): 功能&#xff1a;允许虚拟机通过宿主机的网络连接访问互联网&#xff0c;同时也可以从…

C语言: 指针讲解

为什么需要指针? &#xff08;1&#xff09;指针的使用使得不同区域的代码可以轻易的共享内存数据。当然你也可以通过数据的复制达到相同的效果&#xff0c;但是这样往往效率不太好&#xff0c;因为诸如结构体等大型数据&#xff0c;占用的字节数多&#xff0c;复制很消耗性能…