一、应用模型的构成要素应用模型是OpenHarmony为开发者提供的应用程序所需能力的抽象提炼,它提供了应用程序必备的组件和运行机制。有了应用模型,开发者可以基于一套统一的模型进行应用开发,使应用开发更简单、高效。二、Stage主推模型优势Stage模型之所以成为主推模型,源于其设计思想。Stage模型的设计基于如下出发点。为复杂应用而设计多个应用组件共享同一个ArkTS引擎(运行ArkTS语言的虚拟机)实例,应用组件之间可以方...
一、OpenHarmony应用开发涉及的主要因素二、OpenHarmony应用开发UX设计规范UX设计规范的主要内容与部分图标示例设计原则,当为多种不同的设备开发应用时,有如下设计原则:差异性,充分了解所要支持的设备,包括屏幕尺寸、交互方式、使用场景、用户人群等,对设备的特性进行针对性的设计。一致性,除了要考虑每个设备的特性外,还需要考虑不同设备的共性,并使用通用性设计方法提供既符合设备差异性,又具有跨设备一致性的设计...
一、核心技术理念图片来源:OpenHarmony官方网站二、需求机遇简析新的万物互联智能世界代表着新规则、新赛道、新切入点、新财富机会;各WEB网站、客户端(苹果APP、安卓APK)、微信小程序等上的组织、企业、商户等;OpenHarmony既是一次机遇、同时又是一次大的挑战,只有拥抱时代和变化,才会在这轮升级中胜出。比如互联网时代联接的是电脑,我们访问的都是各种WEB网站,但是到了移动互联网时代,联接的主要是手机,我们访问的都是...
一、分发流程图片来源:OpenHarmony官网二、主要途径更多开鸿智谷在鸿OS开发板设备润和HiHopeOS开发板设备软通动力SwanLinkOS开发板设备深开鸿KaiHongOS开发板设备华为HarmonyOSAGC1+8+N开放原子开源基金会OpenHarmony底座基础
用户应用程序泛指运行在设备的操作系统之上,为用户提供特定服务的程序,简称“应用”。一个应用所对应的软件包文件,称为“应用程序包”。OpenHarmony提供了应用程序包开发、安装、查询、更新、卸载的管理机制,方便开发者开发和管理OpenHarmony应用,具体如下:应用软件所涉及的文件多种多样,开发者可通过OpenHarmony提供的集成开发工具将其开发的可执行代码、资源、三方库等文件整合到一起制作成OpenHarmony应用程序包,便...
一、整体说明ArkTS语言是鸿蒙系统主推的应用开发语言。因此鸿蒙系统提供给开发者的API绝大部分也是ArkTS语言的。鸿蒙系统提供的API范围非常全面,包括应用服务、声明式UI、多媒体、图形窗口、通讯、安全、Web和AI等诸多能力。鸿蒙系统是分布式操作系统,一套SDK可适配多设备的开发。开发者在IDE中创建的工程适配哪些设备,在工程中就可以使用这些设备支持的API,而不需要下载多个SDK。对于某些设备不支持的API的情况,开发者可...
一、应用工程结构图片来源:OpenHarmony官网AppScopeapp.json5:应用的全局配置信息。entry:OpenHarmony工程模块,编译构建生成一个HAP包。srcmainets:用于存放ArkTS源码。srcmainetsentryability:应用服务的入口。srcmainetspages:应用服务包含的页面。srcmainresources:用于存放应用服务所用到的资源文件,如图形、多媒体、字符串、布局文件等。关于资源文件,详见资源文件的分类。srcmainmodule.json5:模块配置文件。...
一、文件新建新建项目二、传统应用形态与IDE自带的模板可供选用与免安装的元服与IDE中自带模板的选择三、以元服务,远程模拟器为例说明IDE整体结构1区是工程目录结构,是最基本的配置与开发路径等的认知。2区是代码开发与修改区,是开发者主要的工作区域。3.是效果展示区,包括远程模拟器、远程真机、本地模拟器等方式。4.是项目运行区域,查看项目运行的过程。5.是IDE菜单栏区,是开发者需要优先了解熟悉
2023-09-15 16:47:06 175浏览 0点赞 0回复 0收藏
DevEcoStudio默认为HarmonyOS应用开发,如果需要修改为OpenHarmony应用开发,修改方式如下。一、总体说明buildprofile.json5为当前的模块信息、编译信息配置项,包括buildOption、targets配置等。其中targets中可配置当前运行环境,默认为HarmonyOS。若需开发OpenHarmony应用,则需开发者自行修改为OpenHarmony。二、具体步骤1三、具体步骤2四、具体步骤3五、具体步骤4
2023-09-14 14:44:19 520浏览 0点赞 0回复 0收藏
DevEcoStudio内置有帮助中心,初学HarmonyOS及OpenHarmony应用、元服务的开发者,通过内置的帮助中去系统的学习相关内容,是边练边学,快速上手的最佳方式。一、帮助二、快速开始三、HarmonyOS应用、元服务开发相关四、OpenHarmony应用、元服开发相关五、更多的常用基础知识与技巧了解学习
2023-09-13 16:18:33 390浏览 0点赞 0回复 0收藏
DevEcoStudio按照后,各项菜单栏默认是英文的,很多初学者,把菜单栏调整为中文的后,更容易上手与操作。具体步骤如下:一、打开文件二、选择设置三、选择插件四、选择中文五、询问是否马上重启,本文选择马上重启六、对已经打开的项目的选择处理方式七、重启后中文设置完成八、重新设置回英文,取消本插件即可
2023-09-12 16:52:32 294浏览 0点赞 0回复 0收藏
互斥识别组合手势对应的GestureMode为Exclusive。互斥识别组合手势中注册的手势将同时进行识别,若有一个手势识别成功,则结束手势识别,其他所有手势识别失败。以在一个Column组件上绑定单击手势和双击手势组合而成的互斥识别组合手势为例,由于单击手势只需要一次点击即可触发而双击手势需要两次,每次的点击事件均被单击手势消费而不能积累成双击手势,所以双击手势无法触发。xxx.etsEntryComponentstructIndex{Statecount1:...
2023-09-11 14:48:47 229浏览 0点赞 0回复 0收藏
并行识别组合手势对应的GestureMode为Parallel。并行识别组合手势中注册的手势将同时进行识别,直到所有手势识别结束。并行识别手势组合中的手势进行识别时互不影响。以在一个Column组件上绑定点击手势和双击手势组成的并行识别手势为例,由于单击手势和双击手势是并行识别,因此两个手势可以同时进行识别,二者互不干涉。xxx.etsEntryComponentstructIndex{Statecount1:number0;Statecount2:number0;build(){Column(){Text('pa...
2023-09-08 11:06:56 386浏览 0点赞 0回复 0收藏
组合手势由多种单一手势组合而成,通过在GestureGroup中使用不同的GestureMode来声明该组合手势的类型,支持连续识别、并行识别和互斥识别三种类型。.GestureGroup(mode:GestureMode,...gesture:GestureType[])mode:必选参数,为GestureMode枚举类。用于声明该组合手势的类型。gesture:必选参数,为由多个手势组合而成的数组。用于声明组合成该组合手势的各个手势。连续识别组合手势对应的GestureMode为Sequence。连续识别组...
2023-09-07 15:14:58 538浏览 0点赞 0回复 0收藏
五、旋转手势(RotationGesture).RotationGesture(value:{fingers:number;angle:number})旋转手势用于触发旋转手势事件,触发旋转手势的最少手指数量为2指,最大为5指,最小改变度数为1度,拥有两个可选参数:fingers:非必选参数,用于声明触发旋转手势所需要的最少手指数量,最小值为2,最大值为5,默认值为2。angle:非必选参数,用于声明触发旋转手势的最小改变度数,单位为deg,默认值为1。以在Text组件上绑定旋转手势实...
2023-09-06 14:07:05 450浏览 0点赞 0回复 0收藏
一、感言坚持中,总会有很多意想不到的收获。前几次参与HDC时更多的是观众、开发者、专家的身份,以参观、学习、交流为主。通过几年的努力,和HarmonyOS功能成长,在2023年的HDC大会中,有了我的演讲,并带领了一批同样认可华为、HarmonyOS与元服务、万能卡片的客户,一起在HDC分会场现场进行了元服务合作合作签约。我们也成为了2023年HDC的一个小主角。坚信,HarmonyOS生态、元服务新应用形态更好的未来由我们共同去创造。二、...
2023-09-05 10:12:39 307浏览 1点赞 0回复 0收藏
这是基础问题,按照开发文档系统学习后,就会了。如果是红框这种小中大卡在一起的,就用一个标记如果不是红框这种的,是单独的小中大卡那直接用这个formId来标记就可以。
2023-09-04 09:56:34 447浏览 0点赞 0回复 0收藏
三、拖动手势(PanGesture).PanGestureOptions(value:{fingers:number;direction:PanDirection;distance:number})拖动手势用于触发拖动手势事件,滑动达到最小滑动距离(默认值为5vp)时拖动手势识别成功,拥有三个可选参数:fingers:非必选参数,用于声明触发拖动手势所需要的最少手指数量,最小值为1,最大值为10,默认值为1。direction:非必选参数,用于声明触发拖动的手势方向,此枚举值支持逻辑与(&)和逻辑或()运算...
2023-09-01 11:42:35 412浏览 0点赞 0回复 0收藏
一、点击手势(TapGesture)TapGesture(value:{count:number;fingers:number})点击手势支持单次点击和多次点击,拥有两个可选参数:count:非必填参数,声明该点击手势识别的连续点击次数。默认值为1,若设置小于1的非法值会被转化为默认值。如果配置多次点击,上一次抬起和下一次按下的超时时间为300毫秒。fingers:非必填参数,用于声明触发点击的手指数量,最小值为1,最大值为10,默认值为1。当配置多指时,若第一根手指按...
2023-08-31 10:09:40 280浏览 0点赞 0回复 0收藏
通过给各个组件绑定不同的手势事件,并设计事件的响应方式,当手势识别成功时,ArkUI框架将通过事件回调通知组件手势识别的结果。一、gesture(常规手势绑定方法)..gesture(gesture:GestureType,mask:GestureMask)gesture为通用的一种手势绑定方法,可以将手势绑定到对应的组件上。例如,可以将点击手势TapGesture通过gesture手势绑定方法绑定到Text组件上。xxx.etsEntryComponentstructIndex{build(){Column(){Text('Gesture'...
2023-08-29 15:19:12 421浏览 0点赞 0回复 0收藏