【HarmonyOS开发】鸿蒙控件与原生App的区别

控件与应用的区别,这应该是一个很少被人提及的话题,刚进入鸿蒙圈,接触的就是高阶控件的开发,引发了很多关于控件与用用的思考,也踩了不少的坑,记录一下。

1、什么是鸿蒙高阶控件?

鸿蒙控是需要写入手机系统的SO。我们的控件只有一个JS文件,通过BUILD.gnxxx.cpp文件将xxx.js编译为SO,最后,通过hdc工具命令将SO包烧录到鸿蒙系统中。

hdc常用命令

bash 复制代码
// 查看设备是否连接
hdc list targets

// 以读写模式挂载系统分区
hdc target mount

// 将本地文件,加载到系统的/data/local/tmp/这个位置
hdc file send E:\example.txt /data/local/tmp/

// 重启设备
hdc shell reboot

2、组件与应用的区别

App应用:可以在包里面调用任何资源,中英文等我们也可以通过resources中引入,自定义性比较强。

高阶控件:写入鸿蒙系统的应用,只能依托系统中存在的能力进行二次开发,或通过C++开发底层应用,提供给ArkTS进行调用。

  • 控件只能够调用系统资源($r(sys.xx.xx));
  • 如果需要使用image等资源,需要转换为base64格式进行引入;
  • API9中鸿蒙的Icon图标资源还未引入鸿蒙系统;
  • 组件中英文问题,控件是需要调用系统语言包的,写在resources中的是不会起作用的;

未完,等待继续更新...

相关推荐
前端世界17 分钟前
鸿蒙系统中的分布式任务依赖是如何处理的?原理、方案与实践
分布式·华为·harmonyos
小雨下雨的雨17 分钟前
Flutter跨平台开发实战: 鸿蒙与循环交互艺术:卡片堆叠与叠放切换动效
flutter·华为·交互·harmonyos·鸿蒙系统
小雨下雨的雨19 分钟前
Flutter跨平台开发实战: 鸿蒙与循环交互艺术:分布式联动与多端状态同步
分布式·flutter·华为·交互·harmonyos·鸿蒙系统
哈__23 分钟前
React Native 鸿蒙跨平台开发:ToastAndroid 提示消息
react native·react.js·harmonyos
lili-felicity30 分钟前
React Native 鸿蒙跨平台开发:TextInput 数据键盘实现与最大文字长度限制
javascript·react native·react.js·harmonyos
lili-felicity32 分钟前
React Native 鸿蒙跨平台开发:PanResponder 实现鸿蒙端组件的拖拽交互功能
react native·交互·harmonyos
yumgpkpm35 分钟前
华为 GaussDB 商业版(本地部署)部署方案及相关步骤
hive·hadoop·redis·elasticsearch·华为·kafka·gaussdb
小雨下雨的雨40 分钟前
Flutter跨平台开发实战: 鸿蒙与循环交互艺术:微动效与分段反馈设计
flutter·华为·交互·harmonyos·鸿蒙
小雨下雨的雨1 小时前
Flutter跨平台开发实战: 鸿蒙与循环交互艺术:ListView 的视口循环与内存复用
flutter·ui·华为·交互·harmonyos·鸿蒙系统
ShuiShenHuoLe1 小时前
HarmonyOS 选择器禁用拍照功能
harmonyos·鸿蒙