HarmonyOS
文章平均质量分 91
雪芽蓝域zzs
礳励前行 不负韶华
展开
-
HarmonyOS 私仓搭建
鸿蒙共享包分静态共享包和动态共享包:HAR(Harmony Archive)是静态共享包,可以包含代码、C++库、资源和配置文件。通过HAR可以实现多个模块或多个工程共享ArkUI组件、资源等相关代码。HAR不同于HAP,不能独立安装运行在设备上,只能作为应用模块的依赖项被引用。HSP(Harmony Shared Package)是动态共享包,静态共享包会打包到每个依赖的HAP里,这样导致包体积较大,且有重复多份公共资源和代码重复打包到应用中,动态共享包可以让多个HAP能够共享同一公共资源代码。原创 2024-11-02 09:19:40 · 702 阅读 · 0 评论 -
HarmonyOS ArkTS Web组件jsbridge
随着智能手机的普及,移动应用的需求日益增长。而在开发移动应用时,前端开发人员需要与原生平台进行交互,以实现更多的功能和优化用户体验。鸿蒙系统提供了一个强大的H5 JSBridge工具,使得前端开发人员可以方便地与鸿蒙系统进行通信和交互。JSBridge是一种将JavaScript代码和原生代码进行桥接的技术。它允许前端开发人员通过JavaScript调用原生代码,实现更多的功能和交互效果。鸿蒙系统的JSBridge提供了一套标准的API,方便开发人员进行调用。原创 2024-11-01 10:46:26 · 941 阅读 · 0 评论 -
HarmonyOS 设备管理
HarmonyOS设备管理分为电源管理、设备管理、系统电源管理、Runninglock锁、热管理、USB管理等。原创 2024-10-29 14:49:07 · 1036 阅读 · 0 评论 -
HarmonyOS 组件样式@Style 、 @Extend、自定义扩展(AttributeModifier、AttributeUpdater)
如果每个组件的样式都需要单独设置,在开发过程中会出现大量代码在进行重复样式设置,虽然可以复制粘贴,但为了代码简洁性和后续方便维护,我们推出了可以提炼公共样式进行复用的装饰器@Styles。@Styles装饰器可以将多条样式设置提炼成一个方法,直接在组件声明的位置调用。通过@Styles装饰器可以快速定义并复用自定义样式。从API version 9开始,该装饰器支持在ArkTS卡片中使用。从API version 11开始,该装饰器支持在元服务中使用。原创 2024-10-26 15:20:26 · 1088 阅读 · 0 评论 -
HarmonyOS ArkTS与C++数据类型转换
HarmonyOS的主力开发语言是ArkTS,也提供了C++语言的支持,对于一些能力,比如音视频编解码等,HarmonyOS 提供的也只有C++ API,对于一些其他平台现有能力的迁移,C++也是最快捷高效的,所以对于一个HarmonyOS 开发者,掌握ArkTS与C++交互成了一项必备技能。&emsp每种编程语言都有自己定义的数据类型,不同编程语言之间互相调用就涉及到了数据类型的转换,ArkTS与C++的转换主要有Node-API接口提供,本文介绍ArkTS与C++互相转换的接口和最佳实践。原创 2024-10-26 08:58:48 · 1073 阅读 · 0 评论 -
HarmonyOS 相对布局(RelativeContainer)
RelativeContainer为采用相对布局的容器,支持容器内部的子元素设置相对位置关系。子元素支持指定兄弟元素作为锚点,也支持指定父容器作为锚点,基于锚点做相对位置布局。下图是一个RelativeContainer的概念图,图中的虚线表示位置的依赖关系。原创 2024-10-24 23:02:00 · 1003 阅读 · 0 评论 -
HarmonyOS 模块化设计
组件化一直是移动端比较流行的开发方式,有着编译运行快,业务逻辑分明,任务划分清晰等优点,HarmonyOs组件化的使用,有利于模块之间的解耦及大型项目的共同开发;与Android端的组件化相比,HarmonyOS的组件化可以说实现起来就颇费一番周折,因为HarmonyOS经过更新迭代之后,最新的开发方式已经和之前兼容AOSP阶段有着很大的区别,以及采用全新的ArkTs语言的开发方式,想实现组件化,就需要另谋途径。原创 2024-10-23 21:22:36 · 1111 阅读 · 0 评论 -
HarmonyOS preferences存储
(3)关系型数据库(RelationalStore):一种关系型数据库,以行和列的形式存储数据,广泛用于应用中的关系型数据的处理,包括一系列的增、删、改、查等接口,开发者也可以运行自己定义的SQL语句来满足复杂业务场景的需要。数据通过文本的形式保存在设备中,应用使用过程中会将文本中的数据全量加载到内存中,所以访问速度快、效率高,但不适合需要存储大量数据的场景。(3)内存会随着存储数据量的增大而增大,所以存储的数据量应该是轻量级的,建议存储的数据不超过一万条,否则会在内存方面产生较大的开销。原创 2024-10-17 11:59:25 · 1146 阅读 · 0 评论 -
HarmonyOS 开发知识总结
项目图片路径resources->base->media中不可以新建文件夹,图片全平级放里面,查找图片不方便,有没有什么其他的办法解决这个难点?resources目录下可用于存放图片的目录有resources/*/media 以及 resources/rawfile。可以使用rawfile来创建文件夹放置图片。rawfile支持创建多层子目录,目录名称可以自定义,文件夹内可以自由放置各类资源文件。(1)rawfile不会根据设备所处的环境去匹配不同的资源.原创 2024-10-17 09:14:48 · 1140 阅读 · 0 评论 -
HarmonyOS 自定义节点
自定义能力是HarmonyOS ArkUI开发框架提供的对UI界面进行开发和设计的能力。现有的自定义能力包括:自定义节点。ArkUI开发框架提供的不同控制层级的自定义能力用于实现不同场景的应用的开发。自定义能力的控制层级越低接近基础能力,开发的灵活程度越高,开发难度越高、对于开发者能力的要求也越高。自定义节点:具备底层实体节点的部分基础能力的节点对象,这些节点能够通过自定义占位节点与原生控件进行混合显示。自定义节点可以具备单个节点的测算布局、设置基础属性、设置事件监听、自定义绘制渲染内容的自定义能力。原创 2024-07-27 10:53:56 · 433 阅读 · 0 评论 -
HarmonyOS 状态管理(一)
虽然两者不能混合使用,但V2版本在V1版本的基础上进行了扩展和优化,为开发者提供了更强大的状态管理能力。@Prop只能用于子组件获取父组件的数据,无法同步@Link可以同步父子组件的数据@Provide配合@Consume可以同步父组件与子孙组件之间的数据,优点是不用传参,代码简单@ObjectLink配合@Observe可以同步父子组件的类、对象、数组类型的数据。原创 2024-07-22 17:50:58 · 994 阅读 · 0 评论 -
HarmonyOS Web组件(二)
本文介绍了在 HarmonyOS NEXT Developer Beta1 版本中,使用 ArkTS 进行混合开发时 Web 组件的基本用法。通过 Web 组件和 WebView API,可以轻松地在应用中嵌入和控制网页内容。以下是几个关键点的总结:(1)基本语法:通过 Web 组件可以加载和显示网页,处理页面事件,并与网页进行交互。(2)事件处理:支持多种事件处理,如页面开始加载、加载完成和加载出错、访问历史记录等。原创 2024-07-20 10:55:34 · 950 阅读 · 0 评论 -
HarmonyOS 代码混淆
针对工程源码的混淆可以降低工程被破解攻击的风险,缩短代码的类与成员的名称,减小应用的大小。DevEco Studio提供代码混淆的能力并默认开启,API 10及以上版本的Stage模型、编译模式为release时自动进行代码混淆。// 混淆前// 混淆后导出的类 “Test1” 是一个顶层作用域名,当 “Test1” 被动态使用时,它是一个属性。因为没有开启-enable-property-obfuscation选项,所以名称混淆了,但属性没有混淆。原创 2024-07-14 20:19:37 · 870 阅读 · 0 评论 -
HarmonyOS 文本显示 (Text/Span)
Text是文本组件,通常用于展示用户视图,如显示文章的文字。原创 2024-07-14 15:53:25 · 229 阅读 · 0 评论 -
HarmonyOS 屏幕适配设计
px代表屏幕上的像素点,是手机屏幕分辨率的单位,即屏幕物理像素单位。vp是视口百分比单位,基于视口(即浏览器窗口)的宽度或高度,屏幕密度相关像素,根据屏幕像素密度转换为屏幕物理像素,当数值不带单位时,默认单位vp。在实际宽度为1440物理像素的屏幕上,1vp约等于3px。它允许组件的大小根据视口的大小动态调整。常用于响应式设计,确保组件在不同屏幕尺寸上保持相对大小。lpx是逻辑像素单位,用于解决不同设备分辨率和像素密度的问题。原创 2024-07-14 15:33:11 · 1657 阅读 · 1 评论 -
HarmonyOS开发 弹窗组件
当现有组件不满足要求时,可考虑自定义弹窗,自定义弹窗允许开发者自定义弹窗内容和样式。例如build() {Text('请输入你的答案')TextInput({ placeholder: '请输入数字' })})Button('取消')})Button('确认').onClick(() => {})// }}),})/*** 自定义弹窗*/原创 2024-06-24 21:21:11 · 887 阅读 · 0 评论 -
HarmonyOS 页面路由(Router)
这种方式不仅可以返回到指定页面,还可以在返回的同时传递自定义参数信息。这些参数信息可以在目标页中通过调用router.getParams()方法进行获取和解析。try {// 获取传递过来的参数对象.id;.title;this.msg="获取传过来的数据:"+mainId+id+title当使用router.back()方法返回到指定页面时,原栈顶页面(包括)到指定页面(不包括)之间的所有页面栈都将从栈中弹出并销毁。原创 2024-06-18 16:02:08 · 1256 阅读 · 5 评论 -
HarmonyOS hsp制作与引用
HSP动态共享包(模块),应用内HSP指的是专门为某一应用开发的HSP,只能被该应用内部其他HAP/HSP使用,用于应用内部代码、资源的共享。应用内HSP跟随其宿主应用的APP包一起发布,与该宿主应用具有相同的包名和生命周期。对于企业大型应用开发,有部分公共的资源和代码,只能在开发态静态共享,并且打包到每个依赖的HAP里,这样导致包体积较大,且有重复多份公共资源和代码重复打包到应用中。原创 2024-04-25 19:31:59 · 1379 阅读 · 0 评论 -
HarmonyOS har制作与引用
HAR(Harmony Archive)是静态共享包,可以包含代码、C++库、资源和配置文件。通过HAR可以实现多个模块或多个工程共享ArkUI组件、资源等相关代码。HAR不同于HAP,不能独立安装运行在设备上,只能作为应用模块的依赖项被引用。原创 2024-04-25 13:57:06 · 1494 阅读 · 0 评论 -
HarmonyOS ArkTS工程目录结构(Stage模型)
当前的模块信息、编译信息配置项,包括buildOption、targets配置等。主要包含HAP包的配置信息、应用/服务在具体设备上的配置信息以及应用/服务的全局配置信息。:用于存放应用/服务所用到的资源文件,如图形、多媒体、字符串、布局文件等。:模块级编译构建任务脚本,开发者可以自定义相关任务和代码实现。:HarmonyOS工程模块,编译构建生成一个HAP包。:应用级配置信息,包括签名、产品配置等。:应用的全局配置信息。:应用级编译构建任务脚本。:应用/服务包含的页面。:应用/服务的入口。原创 2024-03-05 14:36:45 · 2160 阅读 · 0 评论 -
HarmonyOS 获取位置信息
访问设备的位置信息,必须申请权限,并且获得用户授权(src/main/ets/entryability/EntryAbility.ts里申请)原创 2024-03-05 11:58:06 · 787 阅读 · 0 评论 -
HarmomyOS 触屏事件(点击、触摸、拖拽)
触屏事件指当手指/手写笔在组件上按下、滑动、抬起时触发的回调事件。包括点击事件、触摸事件和拖拽事件。原创 2024-02-04 19:35:30 · 781 阅读 · 0 评论 -
HarmonyOS Web组件(一)
众所周知,在Android系统App开发中,我们往往会直接跳转到网页。比如微信给你发了一个链接,默认也是在App之内打开的。很多App就只使用一个WebView作为整体框架,这样开发的好处是,只要使用少量的代码即可完成交互。同样在Harmony系统开发中,使用Harmony的ArkUI框架开发应用的时候,官方为我们提供了一个web组件,提供给开发者使用,通过本文学习,我们将了解并学会如何使用HarmonyOS Web组件进行如下操作原创 2024-01-27 11:28:00 · 1574 阅读 · 1 评论 -
HarmonyOS和OpenHarmony的区别
众所周知,鸿蒙是华为开发的一款分布式智慧操作系统。因为开发系统,最重要的是集思广益,大家共同维护。为了在IOS和Android之间生存,鸿蒙的茁壮成长一定是需要开源,各方助力才能实现。在这种思想上,华为的鸿蒙将HarmonyOS的基础功能提取出来,创建了OpenHarmony版本开源,交付给开放原子开源基金会(OpenAtom Foundation)孵化及运营的开源项目。原创 2023-12-23 11:22:00 · 2178 阅读 · 0 评论 -
HarmonyOS 签名打包并安装
HarmonyOS应用通过数字证书(.cer文件)和Profile文件(.p7b文件)来保证应用的完整性,数字证书和Profile文件可通过申请发布证书和Profile文件获取。原创 2023-12-23 09:43:21 · 2395 阅读 · 0 评论 -
Harmony OS (eTS语言)的起源和演进
Mozilla创造了JS,Microsoft创建了TS,Huawei进一步推出了eTS。eTS(extended TypeScript)是鸿蒙(Harmony)生态的一种应用开发语言。也是Harmony系统(Harmony开发语言java、js、eTS,Harmony3.0后java语言废弃了)主推的一种开发语言。它在TypeScript(简称TS)的基础上,扩展了声明式UI、状态管理等相应的能力,让开发者可以以更简洁、更自然的方式开发高性能应用。原创 2023-12-03 12:24:19 · 3910 阅读 · 0 评论