华为HarmonyOS第一课-学习笔记总结
一、概述
目前华为开发者联盟下属的HarmonyOS官网推出了,针对HarmonyOS应用开发的学习视频。总共13课程,干货满满。
每节课程后会有练习题,分数达成后会有结课证书。最终所有课程都学习后,可以去考试,获取HarmonyOS基础开发者证书。
华为官方学习课程链接: HarmonyOS应用开发学习课程
ArkTS语言学习链接:添加链接描述
华为官方接口文档链接:HarmonyOS API接口文档
二、笔记总结
1.应用程序框架
(1)页面路由
当页面栈的元素数量较大或者超过32时,可以通过调用router.clear()方法清除页面栈中的所有历史页面,仅保留当前页面作为栈顶页面。
router.pushUrl()方法新增了mode参数,可以将mode参数配置为router.RouterMode.Single单实例模式和router.RouterMode.Standard多实例模式。
API9及以上,router.pushUrl()方法,默认的跳转页面使用的模式是Standard
(2)UIAbility
为了实现多设备形态上的裁剪和多窗口的可扩展性,系统对组件管理和窗口管理进行了解耦。UIAbility的生命周期包括Create、Foreground、Background、Destroy四个状态,WindowStageCreate和WindowStageDestroy为窗口管理器(WindowStage)在UIAbility中管理UI界面功能的两个生命周期回调,从而实现UIAbility与窗口之间的弱耦合。如图所示。
UIAbility的启动模式:
singleton,multiton,specified
在module.json5文件中的“launchType”字段配置为“specified”。
{
"module": {
...
"abilities": [
{
"launchType": "specified",
...
}
]
}
}
2.状态修饰器
@Provide和@Consume通过相同的变量名或者相同的变量别名绑定时,@Provide修饰的变量和@Consume修饰的变量是一对多的关系。不允许在同一个自定义组件内,包括其子组件中声明多个同名或者同别名的@Provide装饰的变量。
@Provide @State 状态装饰器修饰的属性必须在本地进行初始化
数据管理-首选项(preferences)