HarmonyOS方舟(ArkUI)框架开发
文章平均质量分 90
HarmonyOS应用开发 3.1/4.0(方舟ArkUI框架 开发篇)
爱吃土豆丝的打工人
从事移动开发5年,高级移动应用开发工程师
展开
-
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(渲染控制 一)
ArkUI通过自定义组件的build()函数和@builder装饰器中的声明式UI描述语句构建相应的UI。在声明式描述语句中开发者除了使用系统组件外,还可以使用渲染控制语句来辅助UI的构建,这些渲染控制语句包括控制组件是否显示的条件渲染语句,基于数组数据快速生成组件的循环渲染语句以及针对大数据量场景的数据懒加载语句。原创 2023-10-07 10:06:14 · 1798 阅读 · 2 评论 -
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 八)
Watch用于监听状态变量的变化,当状态变量变化时,@Watch的回调方法将被调用。@Watch在ArkUI框架内部判断数值有无更新使用的是严格相等(===),遵循严格相等规范。当在严格相等为false的情况下,就会触发@Watch的回调。以下示例展示组件更新和@Watch的处理步骤。count在CountModifier中由@State装饰,在TotalView中由@Prop装饰。原创 2023-10-07 10:02:32 · 1634 阅读 · 0 评论 -
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 七)
PersistentStorage将选定的AppStorage属性保留在设备磁盘上。应用程序通过API,以决定哪些AppStorage属性应借助PersistentStorage持久化。UI和业务逻辑不直接访问PersistentStorage中的属性,所有属性访问都是对AppStorage的访问,AppStorage中的更改会自动同步到PersistentStorage。PersistentStorage和AppStorage中的属性建立双向同步。原创 2023-09-12 09:43:21 · 736 阅读 · 0 评论 -
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 六)
AppStorage是在应用启动的时候会被创建的单例。它的目的是为了提供应用状态数据的中心存储,这些状态数据在应用级别都是可访问的。AppStorage将在应用运行过程保留其属性。属性通过唯一的键字符串值访问。AppStorage可以和UI组件同步,且可以在应用业务逻辑中被访问。AppStorage中的属性可以被双向同步,数据可以是存在于本地或远程设备上,并具有不同的功能,比如数据持久化。原创 2023-09-12 09:01:38 · 1268 阅读 · 0 评论 -
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 五)
LocalStorage是ArkTS为构建页面级别状态变量提供存储的内存内“数据库”。应用程序可以创建多个LocalStorage实例,LocalStorage实例可以在页面内共享,也可以通过GetShared接口,获取在UIAbility里创建的GetShared,实现跨页面、UIAbility内共享。组件树的根节点,即被@Entry装饰的@Component,可以被分配一个LocalStorage实例,此组件的所有子组件实例将自动获得对该LocalStorage实例的访问权限;原创 2023-08-21 16:28:43 · 901 阅读 · 0 评论 -
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 四)
被@Observed装饰的类,可以被观察到属性的变化;子组件中@ObjectLink装饰器装饰的状态变量用于接收@Observed装饰的类的实例,和父组件中对应的状态变量建立双向数据绑定。这个实例可以是数组中的被@Observed装饰的项,或者是class object中是属性,这个属性同样也需要被@Observed装饰。单独使用@Observed是没有任何作用的,需要搭配@ObjectLink或者@Prop使用。原创 2023-08-21 16:16:21 · 1656 阅读 · 1 评论 -
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 三)
Link装饰的变量与其父组件中的数据源共享相同的值。@Provide装饰的状态变量自动对其所有后代组件可用,即该变量被“provide”给他的后代组件。由此可见,@Provide的方便之处在于,开发者不需要多次在组件之间传递变量。后代通过使用@Consume去获取@Provide提供的变量,建立在@Provide和@Consume之间的双向数据同步,与@State/@Link不同的是,前者可以在多层级的父子组件之间传递。原创 2023-08-01 08:33:30 · 2243 阅读 · 0 评论 -
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 二)
Prop变量允许在本地修改,但修改后的变化不会同步回父组件。当父组件中的数据源更改时,与之相关的@Prop装饰的变量都会自动更新。如果子组件已经在本地修改了@Prop装饰的相关变量值,而在父组件中对应的@State装饰的变量被修改后,子组件本地修改的@Prop装饰的相关变量值将被覆盖。原创 2023-07-27 08:48:11 · 1562 阅读 · 0 评论 -
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(状态管理 一)
State装饰的变量,与声明式范式中的其他被装饰变量一样,是私有的,只能从组件内部访问,在声明时必须指定其类型和本地初始化。初始化也可选择使用命名参数机制从父组件完成初始化。@State装饰的变量与子组件中的@Prop、@Link或@ObjectLink装饰变量之间建立单向或双向数据同步。@State装饰的变量生命周期与其所属自定义组件的生命周期相同。原创 2023-07-25 08:32:45 · 1689 阅读 · 0 评论 -
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(基本语法 五)
在前文的示例中,可以使用@Styles用于样式的扩展,在@Styles的基础上,我们提供了@Extend,用于扩展原生组件样式。stateStyles是属性方法,可以根据UI内部状态来设置样式,类似于css伪类,但语法不同。focused:获焦态。normal:正常态。pressed:按压态。disabled:不可用态。原创 2023-07-18 16:13:28 · 1673 阅读 · 4 评论 -
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(基本语法 四)
当创建了自定义组件,并想对该组件添加特定功能时,例如在自定义组件中添加一个点击跳转操作。若直接在组件内嵌入事件方法,将会导致所有引入该自定义组件的地方均增加了该功能。为解决此问题,ArkUI引入了@BuilderParam装饰器,@BuilderParam用来装饰指向@Builder方法的变量,开发者可在初始化自定义组件时对此属性进行赋值,为自定义组件增加特定的功能。该装饰器用于声明任意UI描述的一个元素,类似slot占位符。原创 2023-07-17 09:05:40 · 1432 阅读 · 0 评论 -
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(基本语法 三)
自定义组件的创建:自定义组件的实例由ArkUI框架创建。初始化自定义组件的成员变量:通过本地默认值或者构造方法传递参数来初始化自定义组件的成员变量,初始化顺序为成员变量的定义顺序。如果开发者定义了aboutToAppear,则执行aboutToAppear方法。在首次渲染的时候,执行build方法渲染系统组件,如果有自定义子组件,则创建自定义组件的实例。在执行build()函数的过程中,框架会观察每个状态变量的读取状态,将保存两个map:状态变量 -> UI组件(包括ForEach和if)原创 2023-07-17 09:02:03 · 2713 阅读 · 0 评论 -
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(基本语法 二)
struct:自定义组件基于struct实现,struct + 自定义组件名 + {...}的组合构成自定义组件,不能有继承关系。对于struct的实例化,可以省略new。说明自定义组件名、类名、函数名不能和系统组件名相同。@Component:@Component装饰器仅能装饰struct关键字声明的数据结构。struct被@Component装饰后具备组件化的能力,需要实现build方法描述UI,一个struct只能被一个@Component装饰。说明。原创 2023-07-14 15:58:48 · 4477 阅读 · 0 评论 -
HarmonyOS学习路之方舟开发框架—学习ArkTS语言(基本语法 一)
在初步了解了ArkTS语言之后,我们以一个具体的示例来说明ArkTS的基本组成。如下图所示,当开发者点击按钮时,文本内容从“Hello World”变为“Hello ArkUI”。图1示例效果图本示例中,ArkTS的基本组成如下所示。图2ArkTS的基本组成装饰器:用于装饰类、结构、方法以及变量,并赋予其特殊的含义。如上述示例中@Entry@Component和@State都是装饰器,@Component表示自定义组件,@Entry表示该自定义组件为入口组件,@State。原创 2023-07-14 15:49:53 · 4086 阅读 · 0 评论 -
HarmonyOS学习路之方舟开发框架—基于ArkTS的声明式开发范式
系统内置组件包括按钮、单选框、进度条、文本等。开发者可以通过链式调用的方式设置系统内置组件的渲染效果。开发者可以将系统内置组件组合为自定义组件,通过这种方式将页面组件化为一个个独立的UI单元,实现页面不同单元的独立创建、开发和复用,具有更强的工程性。原创 2023-07-13 10:58:41 · 2029 阅读 · 0 评论 -
HarmonyOS学习路之方舟开发框架—方舟开发框架(ArkUI)概述
方舟开发框架(简称ArkUI)为HarmonyOS应用的UI开发提供了完整的基础设施,包括简洁的UI语法、丰富的UI功能(组件、布局、动画以及交互事件),以及实时界面预览工具等,可以支持开发者进行可视化界面开发。原创 2023-07-13 10:52:33 · 2745 阅读 · 0 评论