【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中的是不会起作用的;

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

相关推荐
UnicornDev16 小时前
【HarmonyOS 6】空状态页面布局设计
华为·harmonyos·arkts·鸿蒙·鸿蒙系统
互联网散修1 天前
零基础鸿蒙应用开发第十九节:解锁灵活数据存储新技能Map/Set
harmonyos
枫叶丹41 天前
【HarmonyOS 6.0】ArkData 应用间配置共享:构建跨应用协作新范式
开发语言·华为·harmonyos
互联网散修1 天前
零基础鸿蒙应用开发第十八节:内置泛型工具类型应用
harmonyos
轻口味1 天前
HarmonyOS 6 自定义人脸识别模型8:MindSpore Lite框架介绍与使用
c++·华为·ai·harmonyos
枫叶丹41 天前
【HarmonyOS 6.0】ArkData 分布式数据对象新特性:资产传输进度监听与接续传输能力深度解析
开发语言·分布式·华为·wpf·harmonyos
枫叶丹41 天前
【HarmonyOS 6.0】Agent Framework Kit深度解析:构建应用与智能体的无缝连接
华为·aigc·harmonyos
亚历克斯神2 天前
Flutter for OpenHarmony: Flutter 三方库 mutex 为鸿蒙异步任务提供可靠的临界资源互斥锁(并发安全基石)
android·数据库·安全·flutter·华为·harmonyos
钛态2 天前
Flutter 三方库 smartstruct 鸿蒙化字段映射适配指南:介入静态预编译引擎扫除视图及数据模型双向强转类型错乱隐患,筑稳如磐石的企业级模型治理防线-适配鸿蒙 HarmonyOS ohos
flutter·华为·harmonyos
键盘鼓手苏苏2 天前
Flutter 组件 csv2json 适配鸿蒙 HarmonyOS 实战:高性能异构数据转换,构建 CSV 流式解析与全栈式数据映射架构
flutter·harmonyos·鸿蒙·openharmony