鸿蒙移动应用开发项目式教程课件 项目4-自然与科学展示页-4-4 UIAbility组件_第1页
鸿蒙移动应用开发项目式教程课件 项目4-自然与科学展示页-4-4 UIAbility组件_第2页
鸿蒙移动应用开发项目式教程课件 项目4-自然与科学展示页-4-4 UIAbility组件_第3页
鸿蒙移动应用开发项目式教程课件 项目4-自然与科学展示页-4-4 UIAbility组件_第4页
鸿蒙移动应用开发项目式教程课件 项目4-自然与科学展示页-4-4 UIAbility组件_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

UIAbility组件UIAbiltiy组件概述UIAbility组件是一种包含UI的应用组件,主要用于和用户交互。

(1)UIAbility组件的设计理念UIAbility组件的设计注重跨端迁移、多设备支持及良好的用户体验,是HarmonyOS应用不可或缺的重要组成部分。①

原生支持应用组件级的跨端迁移和多端协同。②

支持多设备和多窗口形态。

(2)UIAbility组件的划分原则与建议UIAbility组件是系统调度的基本单元,为应用提供绘制界面的窗口。一个应用可以包含一个或多个UIAbility组件。例如,在支付应用中,可以将入口功能和收付款功能分别配置为独立的UIAbility实例。每一个UIAbility实例都会在最近任务列表中显示一个对应的任务。任务导入知识解析学以致用课堂小结课后拓展1.1UIAbility组件UIAbiltiy组件概述

对于开发者而言,可以根据具体场景选择单个或多个UIAbility组件。①

如果开发者希望在任务视图中看到一个任务,则建议使用一个UIAbility组件、多个页面的方式。②

如果开发者希望在任务视图中看到多个任务,或者需要同时开启多个窗口,则建议使用多个UIAbility组件实现不同的模块功能。2.声明配置

为使应用能够正常使用UIAbility组件,需要在module.json5配置文件的abilities标签中声明UIAbility组件的名称、入口、标签等相关信息。任务导入知识解析学以致用课堂小结课后拓展1.1UIAbility组件UIAbiltiy组件的生命周期UIAbility组件有完整的生命周期管理,包括创建(Create)、前台(Foreground)、后台(Background)和销毁(Destroy)等状态,方便开发者进行状态管理和资源释放,如图所示。任务导入知识解析学以致用课堂小结课后拓展1.1UIAbility组件UIAbiltiy组件的生命周期1.UIAbility组件生命周期概述

当用户打开、切换或返回对应应用时,应用中的UIAbility实例会在其生命周期的不同状态之间转换。UIAbility类提供了一系列回调函数,通过这些回调函数可以知道当前UIAbility实例的状态发生了改变。例如,UIAbility实例经过创建和销毁,或者前后台转换后,其状态发生了变化。2.生命周期状态说明UIAbility组件的生命周期管理对于应用的性能和用户体验至关重要。我们应合理利用生命周期回调函数,进行资源管理和状态切换,以提供流畅、稳定的应用体验。任务导入知识解析学以致用课堂小结课后拓展1.1UIAbility组件UIAbiltiy组件的生命周期

(1)Create状态Create状态在应用加载过程中,UIAbility实例创建完成时触发,此时系统会调用onCreate()回调函数。开发者可以在该回调函数中进行页面初始化操作,如变量定义、资源加载等,用于后续的UI展示。

(2)WindowStageCreate状态和WindowStageDestroy状态UIAbility实例创建完成之后,在进入Foreground状态之前,系统会创建一个WindowStage。WindowStage创建完成后会调用onWindowStageCreate()回调函数,开发者可以在该回调函数中设置UI加载及WindowStage的事件订阅。任务导入知识解析学以致用课堂小结课后拓展1.1UIAbility组件UIAbiltiy组件的生命周期

(3)WindowStageCreate状态的回调函数

在onWindowStageCreate()回调函数中通过loadContent()方法设置应用要加载的页面,并根据需要调用on('windowStageEvent')方法订阅WindowStage的事件(获焦/失焦、可见/不可见)。

(4)WindowStageWillDestroy状态WindowStageWillDestroy状态对应的onWindowStageWillDestroy()回调函数,在WindowStage销毁前执行,此时WindowStage可以使用。

(5)Foreground状态和Background状态Foreground状态和Background状态分别在UIAbility实例切换至前台和切换至后台时触发,对应onForeground()回调函数和onBackground()回调函数。任务导入知识解析学以致用课堂小结课后拓展1.1UIAbility组件UIAbiltiy组件的生命周期

(6)Destroy状态Destroy状态在UIAbility实例销毁时触发。可以在onDestroy()回调函数中进行系统资源的释放、数据的保存等操作。例如,调用terminateSelf()方法停止当前UIAbility实例,系统会触发onDestroy()回调函数,从而完成UIAbility实例的销毁;或者用户使用最近任务列表关闭该UIAbility实例,完成UIAbility实例的销毁。

(7)其他页面状态说明Show:页面展示状态。Active:页面启动状态。InActive:页面完成启动状态。Hidden:页面隐藏状态。任务导入知识解析学以致用课堂小结课后拓展1.1UIAbility组件UIAbiltiy组件的启动模式UIAbility组件的启动模式是指UIAbility实例在启动时的不同呈现状态。针对不同的业务场景,系统提供了以下3种启动模式。

(1)singleton启动模式singleton启动模式为单实例模式,也是默认情况下的启动模式。

开发者每次调用startAbility()方法时,如果应用进程中该类型的UIAbility实例已经存在,则复用系统中的UIAbility实例。系统中只存在唯一一个UIAbility实例,即在最近任务列表中只存在一个该类型的UIAbility实例。

如果需要使用singleton启动模式,将module.json5配置文件中的launchType字段配置为singleton即可。任务导入知识解析学以致用课堂小结课后拓展1.1UIAbility组件UIAbiltiy组件的启动模式

(2)multiton启动模式multiton启动模式为多实例模式,每次调用startAbility()方法时,都会在应用进程中创建一个新的该类型UIAbility实例。即在最近任务列表中可以看到有多个该类型的UIAbility实例。在这种情况下,可以将UIAbility配置为multiton(多实例模式)。

如果要使用multiton启动模式,将module.json5配置文件中的launchType字段配置为multiton即可。任务导入知识解析学以致用课堂小结课后拓展1.1UIAbility组件UIAbiltiy组件的启动模式

(3)specified启动模式specified启动模式为指

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论