本功能从DevEcoCodeGenie5.1.0Beta版本开始支持。CodeGenie提供智能AI能力对框选的代码片段进行逐条解释,总结代码段含义,帮助开发者提升阅读代码的速度和效率。选中.ets文件或者.cpp文件中需要被解释的代码行或代码片段,右键选择CodeGenieExplainCode,开始解读当前代码内容。说明最多支持解读20000字符以内的代码片段。使用该功能需先完成CodeGenie登录授权。以上材料主要参考引用HarmonyOS官方文档。
2025-07-17 16:59:06 4666浏览 0点赞 0回复 0收藏
利用AI大模型分析并理解开发者在代码编辑区的上下文信息或自然语言描述信息,智能生成符合上下文的ArkTS或C++代码片段。一、使用约束建议在编辑区内已有较丰富上下文,能够使模型对编程场景有一定理解的情况下进行代码生成。在编辑器中的内容较少时,AI可能无法有效理解用户的意图并生成相应的代码。模型反馈需满足规则:光标上文10行内,有效代码行数超过5行(排除单独{}、()、[]括号行、空行、纯注释行场景),便于模型能理...
2025-07-15 16:11:41 4134浏览 0点赞 0回复 0收藏
本功能从DevEcoStudio5.1.0Release版本开始支持。根据选中的ArkTS方法名称,CodeGenie支持自动生成对应单元测试用例,提升测试覆盖率。在ArkTS文档中,光标放置于方法名称上或框选完整的待测试方法代码块,右键选择CodeGenieGenerateUT,开始生成单元测试用例。说明最多支持解读20000字符以内的代码片段。ArkUI代码、生命周期函数、ExtendStylesBuilder修饰的函数、private修饰的私有函数不支持生成单元测试用例。使用该功能需...
2025-07-14 17:18:06 4735浏览 0点赞 0回复 0收藏
当DevEcoStudio构建ArkTS工程出现失败时,CodeGenie能够对错误进行智能分析,提供错误原因及修复方案,帮助开发者快速解决编译构建问题。1.如需开启编译报错智能分析和自动修复,进入FileSettingsCodeGenieGeneral页面,勾选EnableAIFixedForBuildErrors和AllowAIEditLocalFile。2.当ArkTS工程出现构建报错时,点击报错信息后方AddToChat图标,CodeGenie将分析该报错,并提供可能的错误原因;针对语法错误问题将提供修复方案。...
2025-07-11 17:41:28 5602浏览 0点赞 0回复 0收藏
UIGenerator基于BitFunPlatformAI能力平台,用于快速生成可编译、可运行的HarmonyOSUI工程,支持基于已有UI布局文件(XML),快速生成对应的HarmonyOSUI代码,其中包含HarmonyOS基础工程、页面布局、组件及属性和资源文件等。一、使用约束建议使用DevEcoStudio5.0.3.700及以上版本。二、启用插件在DevEcoStudio菜单栏,点击File>Settings(macOS为DevEcoStudio>Preferences)>Plugins,在Installed列表中找到UIGenerator插件,...
2025-07-10 11:24:48 6081浏览 1点赞 0回复 0收藏
分组吸顶场景场景描述双列表同向联动,右边字母列表用于快速索引,内容列表根据首字母进行分组,常用于通讯录、城市选择、分组选择等页面。本场景以城市列表页面为例,左侧城市列表数据和右侧字母导数据通过List组件来展示,并通过Stack组件使两个列表数据分层显示。在进入页面后,通过滑动左侧城市列表数据,列表字母标题吸顶展示,对应右侧字母导航内容高亮显示;点击右侧字母导航内容,左侧城市列表展示对应内容。页面整体结...
2025-07-03 15:46:56 4743浏览 0点赞 0回复 0收藏
二级联动场景场景描述通过左边一级列表的选择,联动更新右边二级列表的数据,常用于商品分类选择、编辑风格等二级类别选择页面。本场景以商品分类列表页面为例,分别通过List组件,对左侧分类导航和右侧导航内容进行展示。在进入页面后,点击左侧分类导航,右侧展示对应导航分类详情列表数据;滑动右侧列表内容,列表标题吸顶展示,左侧对应导航内容则高亮显示。页面整体结构图页面效果图实现原理左右各用一个List实现,分别设...
2025-07-02 10:14:12 3884浏览 0点赞 0回复 0收藏
场景描述List组件作为整个首页长列表的容器,通过ListItem对不同模块进行视图界面定制,常用于门户首页、商城首页等多类型视图展示的列表信息流场景。本场景以应用首页为例,将除页面顶部搜索框区域的其它内容,放在List组件内部,进行整体页面的构建。进入页面后,下滑刷新模拟网络请求;滑动页面列表内容,景区标题吸顶;滑动到页面底部,上滑模拟请求添加数据。页面整体结构图页面效果图实现原理根据列表内部各部分视图对应...
2025-06-30 14:55:20 3332浏览 0点赞 0回复 0收藏
Tabs吸顶场景场景描述Tabs嵌套List的吸顶效果,常用于新闻、资讯类应用的首页。本场景以Tabs页签首页内容为例,在首页TabContent的内容区域使用List组件配合其它组件,构建下方列表数据内容。进入页面后,向上滑动内容,中间Tabs页签区域实现吸顶展示的效果。页面整体结构图页面效果图实现原理Tabs组件可以在页面内快速实现视图内容的切换,让用户能够聚焦于当前显示的内容,并对页面内容进行分类,提高页面空间利用率。通过Tab...
2025-06-28 11:37:08 988浏览 0点赞 0回复 0收藏
在列表场景下会采用List、Grid、WaterFlow等组件配合ForEach或者LazyForEach来实现,ForEach适合内容长度确定,内容在两屏以内的列表。LazyForEach适合长度超过两屏的列表情况,并且当内容布局相对固定的情况下,配合组件复用的方式来减少滑动过程中的组件创建。在长列表加载性能优化中,介绍了较为详细的实践案例,这里我们仅引用一些关键性能收益数据。懒加载针对长列表这一场景,在本地模拟了10、100、1000、10000条数据,分...
2025-06-27 16:04:14 983浏览 0点赞 0回复 0收藏
对于组件的宽高不需要自适应的情况下,建议在UI描述时给定组件的宽高数值,当其组件外部的容器尺寸发生变化时,例如拖拽缩放等场景下,如果组件本身的宽高是固定的,理论上来讲,该组件在布局阶段不会参与Measure阶段,其节点中保存了对应的大小信息,如果组件内容较多时,由于避免了其中组件整体的测算过程,性能会带来较大的提升。我们通过修改以下示例代码中Column的宽度,对比给Row设置固定宽度.width(300).height(400)、百...
2025-06-26 11:00:47 735浏览 1点赞 0回复 0收藏
建议开发者优先使用CodeLinter扫描工具进行代码检查,重点关注performancehparkuiremovecontainerwithoutproperty规则。若扫描结果中出现该规则相关问题,可参考本章节提供的优化建议进行调整。布局阶段是采用递归遍历所有节点的方式进行组件位置和大小的计算,如果嵌套层级过深,将带来了更多的中间节点,在布局测算阶段下,额外的节点数将导致更多的计算过程,造成性能劣化。我们通过模拟了10、100、500、1000层Row嵌套的情况...
2025-06-25 16:34:52 1002浏览 0点赞 0回复 0收藏
合理控制元素显示与隐藏控制元素显示与隐藏是一种常见的场景,使用Visibility.None、if条件判断等都能够实现该效果。其中if条件判断控制的是组件的创建、布局阶段,visibility属性控制的是元素在布局阶段是否参与布局渲染。使用时如果使用的方式不当,将引起性能上的问题。对于不同的场景下,需要选择合适的手段,根据性能或者内存要求选择不同的实现方式:只有初始的一次渲染或者交互次数很少的情况下,建议使用if条件判断来控...
2025-06-24 15:55:36 1003浏览 0点赞 0回复 0收藏
一、ArkUI框架执行流程在使用ArkUI开发中,我们通过布局组件和基础组件进行界面描述,这些描述会呈现出一个组件树的结构,基础组件在其中为叶子结点,布局组件则是中间节点,可以把这棵树称之为应用组件树。当用户执行交互(滑动,点击等行为)时会触发界面修改,界面的修改本质上是通过触发这棵组件树的重新渲染,来实现应用界面更新的过程。应用界面更新的过程主要分为两个过程:数据处理过程和UI更新过程。1、数据处理过程中...
2025-06-23 09:37:43 559浏览 0点赞 0回复 0收藏
选择合适的布局组件在布局时,子组件会根据父组件的布局算法得到相应的排列规则,然后按照规则进行子组件位置的摆放。不同的布局容器使用的布局算法对性能带来的影响不同。开发者应该根据场景选用合适的布局,除非必须,尽量减少使用性能差的布局组件。我们常用的基础布局组件包含以下组件:使用Row、Column构建线性布局。使用Stack构建层叠布局。上述布局都属于线性布局,顾名思义,在线性布局中排布的组件是按照特定的方向线...
2025-06-20 15:40:38 1229浏览 0点赞 0回复 0收藏
开发步骤在应用工程中新增PROJECTHOMEentrysrcmainresourcesbaseprofileinsightintent.json文件注册意图,指定意图名称和所属垂域,并且指定一个意图调用逻辑入口。比如在本示例中将调用逻辑放在了EntryAbility下的InsightIntentExecutorImpl文件中。{"insightIntents":[{"intentName":"PlayMusic","domain":"MusicDomain","intentVersion":"1.0.1","srcEntry":".etsentryabilityInsightIntentExecutorImpl.ets","uiAbility":{"...
2025-06-19 15:30:20 1733浏览 0点赞 0回复 0收藏
一、概述意图框架是HarmonyOS系统级的意图标准体系。将应用和元服务的业务功能智慧分发给不同的系统入口,以“音乐播放”为例,HarmonyOS将业务分发给“小艺建议”,提供了桌面大流量曝光,同时为开发者实现业务增长。习惯推荐类别下典型场景主要分为常用接续、常用复访以及常用推新三大类。比如“音乐播放”就属于常用接续场景。常用接续:涵盖长视频、音乐、有声以及课程等领域,接续指在某个时间节点进行续播。常用复访...
2025-06-18 14:43:41 408浏览 0点赞 0回复 0收藏
一、概述本模块提供通知管理的能力,包括发布、取消发布通知,创建、获取、移除通知渠道,获取通知的使能状态、角标使能状态,获取通知的相关信息等。说明:本模块首批接口从APIversion9开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。导入模块支持设备Phone2in1TabletCarWearableimport{notificationManager}from'kit.NotificationKit';二、notificationManager.publish1.notificationManager.publish支持...
2025-06-13 15:13:25 2750浏览 0点赞 0回复 0收藏
1.notificationManager.requestEnableNotification10+支持设备Phone2in1TabletCarWearablerequestEnableNotification(context:UIAbilityContext,callback:AsyncCallback):void应用请求通知使能模态弹窗。使用callback异步回调。仅当应用界面加载完成后(即调用loadContent成功),方可使用该接口。模型约束:此接口仅可在Stage模型下使用。系统能力:SystemCapability.Notification.Notification示例.import{BusinessError}from...
2025-06-12 17:24:00 2672浏览 0点赞 0回复 0收藏
1.notificationManager.requestEnableNotification(deprecated)支持设备Phone2in1TabletCarWearablerequestEnableNotification(callback:AsyncCallback):void应用请求通知使能。使用callback异步回调。说明从APIversion12开始不再维护,建议使用有context入参的requestEnableNotification代替。系统能力:SystemCapability.Notification.Notification示例:.import{BusinessError}from'kit.BasicServicesKit';..letrequestEnabl...
2025-06-11 15:34:47 1069浏览 0点赞 0回复 0收藏