12 2024 档案
摘要:一、概述 @Once装饰器用于实现变量仅在初始化时同步一次外部传入值,后续数据源更改时不会将修改同步给子组件。其必须搭配@Param使用,且不影响@Param的观测能力,仅拦截数据源变化,与@Param装饰变量的先后顺序不影响实际功能,并且在搭配使用时可在本地修改@Param变量的值。 二、装饰器使
阅读全文
摘要:一、概述 为增强子组件接受外部参数输入的能力,开发者可使用@Param装饰器。从API version 12开始,在@ComponentV2装饰的自定义组件中支持使用@Param装饰器。当前状态管理(V2试用版)相关功能尚未成熟,建议开发者尝鲜试用。 (一)功能特点 表示外部传入状态:使得父子组件之
阅读全文
摘要:一、引言 在鸿蒙Next的开发中,状态管理是构建高效、响应式应用的关键部分。@Local装饰器作为状态管理V2中的重要特性,为开发者提供了一种有效的方式来管理组件内部状态。本文将对@Local装饰器进行全面总结,包括其功能、使用方法、与@State装饰器的对比以及常见问题的解决方法等。 二、@Loc
阅读全文
摘要:一、引言 在鸿蒙Next开发中,类属性的观测对于状态管理至关重要。本文将详细介绍@ObservedV2装饰器和@Trace装饰器的功能、使用方法、限制以及应用场景,帮助开发者更好地理解和运用这两个装饰器进行类属性变化观测,从而实现更高效的状态管理。 二、装饰器概述 (一)功能 @ObservedV2
阅读全文
摘要:一、引言 在应用开发中,高性能编程对于提升用户体验至关重要。本文将详细介绍鸿蒙Next ArkTS在高性能编程方面的实践经验,包括声明与表达式、函数、数组以及异常处理等方面的优化技巧,助力开发者打造高效能的应用。 二、声明与表达式 (一)使用const声明不变的变量 在编程过程中,对于那些在后续代码
阅读全文
摘要:一、目标和适用范围 ArkTS编程规范参考业界标准及实践,结合ArkTS语言特点,旨在提高代码的规范、安全和性能,适用于开发者使用ArkTS编写代码的系统开发或应用开发场景。 二、规则来源 ArkTS在TypeScript基础上强化静态检查和分析,部分规则源于《OpenHarmony应用TS&JS编
阅读全文
摘要:一、引言 ArkTS在保持TypeScript(TS)基本语法风格的基础上,通过规范强化静态检查和分析,在程序开发期检测更多错误,提升程序稳定性与运行性能。本文将阐述为何建议将TS代码适配为ArkTS代码。 二、程序稳定性 (一)动态类型语言的问题 以JavaScript(JS)为代表的动态类型语言
阅读全文
摘要:在鸿蒙Next开发中,ArkTS对自定义组件的成员变量使用的访问限定符private/public/protected有特定的校验规则,当不按规范使用时会产生相应的日志信息。 一、使用限制概述 (一)private修饰相关限制 对于@State/@Prop/@Provide/@BuilderPara
阅读全文
摘要:一、引言 在鸿蒙Next开发中,当需要通过精确测算的方式来布局自定义组件内子组件的位置时,可以使用特定的接口来实现。本文将详细介绍如何使用onMeasureSize和onPlaceChildren接口来完成自定义组件的布局,包括接口的功能、使用示例以及实现效果等方面的内容。 二、布局接口介绍 onM
阅读全文
摘要:一、引言 在鸿蒙Next应用开发中,理解页面和自定义组件的生命周期至关重要。它有助于开发者精确控制组件和页面在不同阶段的行为,优化应用性能,提升用户体验。本文将深入探讨鸿蒙Next中页面和自定义组件的生命周期,包括创建、渲染、重新渲染、删除以及监听页面生命周期等方面的内容。 二、自定义组件和页面的关
阅读全文
摘要:一、引言 在鸿蒙Next开发中,自定义组件是构建高效、可维护UI的重要组成部分。它具有可组合、可重用以及数据驱动UI更新等特点,能帮助开发者更好地实现代码复用、业务逻辑与UI分离等目标。本文将详细总结创建自定义组件的相关知识,包括其基本结构、成员函数/变量、参数规定、build()函数以及通用样式等
阅读全文
摘要:一、引言 在鸿蒙Next开发中,ArkTS以声明方式组合和扩展组件来描述应用程序的UI,为开发者提供了高效、灵活的方式来构建用户界面。本文将详细介绍鸿蒙Next中声明式UI的相关内容,包括组件创建、属性配置、事件配置以及子组件配置等方面,帮助开发者更好地理解和运用这一技术。 二、创建组件 (一)无参
阅读全文
摘要:在鸿蒙Next开发中,LazyForEach提供了高效的数据懒加载机制,适用于处理大量数据的列表展示等场景,可有效提升性能和内存管理。以下是其详细用法总结。 一、使用限制 容器组件要求:必须在特定容器组件(List、Grid、Swiper、WaterFlow)内使用,且这些组件支持配置cachedC
阅读全文
摘要:在鸿蒙Next开发中,ForEach接口用于循环渲染数组类型数据,与容器组件配合使用,可高效构建动态列表等UI元素。以下是ForEach用法的详细总结。 一、键值生成规则 系统默认规则:若开发者未定义keyGenerator函数,ArkUI框架使用默认函数(item: Object, index:
阅读全文
摘要:在鸿蒙Next开发中,ArkTS提供了强大的渲染控制能力,其中条件渲染(if/else)可根据应用不同状态显示相应UI内容。以下是对其用法的详细总结。 一、使用规则 1. 语句支持 支持if、else和else if语句,可灵活构建条件判断逻辑。 2. 变量类型 if、else if后的条件语句可使
阅读全文
摘要:在使用鸿蒙Next进行开发时,合理的状态管理对于优化UI性能和提升用户体验至关重要。许多开发者由于对状态管理特性了解不足,常遇到UI不刷新或刷新性能差的问题。本文将从合理使用属性、合理使用ForEach/LazyForEach等方面进行总结,帮助开发者掌握合理使用状态管理的方法。 一、合理使用属性
阅读全文
摘要:在鸿蒙Next应用开发中,合理的状态管理是确保应用性能和响应性的关键。以下是基于最佳实践的详细阐述,每个实践都包含反例分析和正例改进,并提供了相应的代码示例。 一、使用@ObjectLink代替@Prop减少不必要的深拷贝 (一)问题场景 在父子组件数据传递时,如果子组件不需要改变传递过来的数据,使
阅读全文
摘要:一、MVVM模式概述 在鸿蒙Next的ArkUI框架中,MVVM(Model-View-ViewModel)模式是一种重要的架构模式,用于管理应用程序中的数据和UI之间的交互。MVVM模式通过将数据和视图分离,使得应用程序的开发更加高效、可维护和可测试。 (一)MVVM模式的组成部分 Model层:
阅读全文
摘要:在鸿蒙Next应用开发中,高效的状态管理对于提升应用性能至关重要。本文将介绍一些状态管理的优秀实践,帮助开发者避免常见的低效开发场景,提升应用质量。 一、使用@ObjectLink代替@Prop减少不必要的深拷贝 问题描述 在父子组件数值传递中,若子组件不改变状态变量值,使用@Prop装饰状态变量会
阅读全文
摘要:一、功能概述 鸿蒙Next的自定义组件冻结功能专为优化复杂UI页面性能而设计,在包含多页面栈、长列表或宫格布局等场景中作用显著。当状态变量绑定多个UI组件时,其变化可能引发大量UI组件刷新,导致界面卡顿和响应延迟。此功能通过设置freezeWhenInactive属性激活组件冻结机制,仅更新处于激活
阅读全文
摘要:一、概述 @Track是class对象的属性装饰器。当class对象是状态变量时,@Track装饰的属性发生变化,只会触发该属性关联的UI更新;未被标记的属性不能在UI中使用。从API version 11开始,该装饰器支持在ArkTS卡片中使用。 二、装饰器说明 装饰器参数:无。 可装饰的变量:c
阅读全文
摘要:一、$$语法概述 在鸿蒙Next开发中,$$语法为系统内置组件提供了一种强大的双向同步机制,用于实现TypeScript(TS)变量与系统内置组件内部状态之间的同步。这一特性使得开发者能够更加便捷地管理组件状态,确保用户界面(UI)与应用数据的一致性,提升用户体验。 二、使用规则 (一)变量类型支持
阅读全文
摘要:一、@Watch装饰器概述 @Watch装饰器用于监听状态变量的变化,当被装饰的状态变量发生改变时,会触发对应的回调函数执行。其在ArkUI框架内部基于严格相等( )来判断数值是否更新,仅当严格相等判断为false时,才会触发回调。这为开发者提供了一种有效的方式来响应状态变量的变化,从而实现应用中动
阅读全文
摘要:一、概述 Environment是ArkUI框架在应用程序启动时创建的单例对象,用于提供一系列描述应用程序运行状态的属性,其所有属性不可变(应用不可写入)且为简单类型,主要为AppStorage提供设备环境相关信息,以辅助应用根据设备环境做出不同的处理逻辑。 二、Environment内置参数 ac
阅读全文
摘要:一、概述 PersistentStorage是应用程序中的可选单例对象,用于持久化存储选定的AppStorage属性,确保这些属性在应用程序重新启动时的值与关闭时相同。它将属性保留在设备磁盘上,UI和业务逻辑通过AppStorage访问其属性,AppStorage中的更改会自动同步到Persiste
阅读全文
摘要:一、AppStorage概述 AppStorage是应用全局的UI状态存储,与应用进程绑定,在应用启动时由UI框架创建,为应用程序UI状态属性提供中央存储。它不同于页面级的LocalStorage,是应用级的全局状态共享,相当于整个应用的“中枢”,持久化数据PersistentStorage和环境变
阅读全文
摘要:一、概述 LocalStorage是ArkTS为构建页面级别状态变量提供存储的内存内的“数据库”。应用程序可以创建多个LocalStorage实例,其支持UIAbility实例内多个页面间状态共享,可在页面内共享,也能通过GetShared接口跨页面共享。组件树的根节点(被@Entry装饰的@Com
阅读全文
摘要:一、概述 在鸿蒙Next中,@Observed和@ObjectLink装饰器用于处理嵌套类对象属性变化,实现双向数据同步,弥补了其他装饰器只能观察一层变化的局限。从API version 9开始,这两个装饰器支持在ArkTS卡片中使用,从API version 11开始,支持在元服务中使用。 (一)
阅读全文
摘要:一、概述 在鸿蒙Next中,@Provide和@Consume装饰器用于在祖先组件与后代组件之间实现双向数据同步,适用于状态数据在多个层级之间传递的场景,摆脱了父子组件间命名参数传递机制的束缚。从API version 9开始,这两个装饰器支持在ArkTS卡片中使用,从API version 11开
阅读全文
摘要:一、@Prop概述 在鸿蒙Next中,@Prop装饰器用于在父子组件之间建立单向的数据同步关系。这意味着数据从父组件流向子组件,子组件对@Prop装饰变量的修改不会同步回父组件。从API version 9开始,该装饰器支持在ArkTS卡片中使用,从API version 11开始,支持在元服务中使
阅读全文
摘要:在ArkUI框架中,@State装饰器用于管理组件内的状态,使得状态变化能够触发UI的更新。以下将详细介绍@State的使用方法。 一、概述 1. 定义与作用 @State装饰的变量,即状态变量,是私有的,只能在组件内部访问。它是大部分状态变量的数据源,一旦其值发生改变,就可以触发直接绑定UI组件的
阅读全文
摘要:在鸿蒙 Next 系统中,开发获取设备位置信息的功能对于许多应用来说至关重要。以下将详细介绍在鸿蒙 Next 下进行定位开发的相关内容。 一、场景概述 开发者可利用 HarmonyOS 位置相关接口实现多种功能。对于位置敏感业务,如导航应用,获取实时位置能为用户提供准确的路线指引;而在某些场景下,若
阅读全文
摘要:一、智能家居系统架构与安全挑战 (一)系统架构 智能家居系统就像一个智能的大家庭,里面有各种各样的“家庭成员”,也就是不同类型的设备。首先是摄像头,它就像家庭的“眼睛”,时刻关注着家里的情况;门锁则是家庭的“卫士”,守护着家门的安全;还有智能家电,如智能冰箱、智能电视、智能空调等,它们让我们的生活更
阅读全文

浙公网安备 33010602011771号