版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
项目10鸿蒙应用模型01应用模型概述02Stage模型03UIAbility组件目
录Contents04项目实训01应用模型概述UIAbility组件项目实训应用模型概述10.1应用模型概述应用模型是系统为开发者提供的应用程序所需能力的抽象提炼,它提供了应用程序必备的组件和运行机制。有了应用模型,开发者可以基于一套统一的模型进行应用开发,使应用开发更简单、高效。随着系统的演进发展,HarmonyOS先后提供了两种应用模型,分别为FA(FeatureAbility)模型和Stage模型。但是,FA模型是HarmonyOS早期支持的模型,已经不再主推,本书不做过多讲解;Stage模型是从HarmonyOS3.1开始新增的模型,是目前主推且会长期演进的模型。应用模型概述Stage模型02Stage模型10.2.1Stage模型概述10.2.2
Stage模型目录概览10.2.3Stage模型配置文件UIAbility组件项目实训应用模型概述10.2.1Stage模型概述①多窗口管理,一个应用能同时管理多个窗口,每个窗口可显示不同界面内容,用户可自由切换和操作;②灵活布局,界面组件可通过布局管理器灵活排列和布局,适应不同屏幕尺寸和设备方向变化;③生命周期管理,应用和窗口都有各自的生命周期,能响应创建、启动、暂停、恢复和销毁等事件;④跨设备通信,系统可通过底层软总线在组件实例间建立跨设备的RPC(RemoteProcedureCall,远程过程调用)连接,方便开发者进行跨设备通信;⑤进程模型规范,由系统负责进程创建和销毁,不支持应用自定义配置多进程及通过接口启动进程;⑥事件订阅机制,通过发布订阅模式实现松耦合的消息传递,提高系统可扩展性和灵活性。Stage模型特点Stage模型UIAbility组件项目实训应用模型概述10.2.1Stage模型概述Stage模型由多个关键组件协同构建,这些组件各司其职,共同赋予了Stage模型强大的功能与卓越的特性。它们之间的交互与协作,构成了应用开发与运行的底层逻辑架构。Stage模型的重要组件Stage模型UIAbility组件项目实训应用模型概述10.2.1Stage模型概述源码期以Project为整体,包含Module,Module里包含UIAbility和ExtensionAbility两种组件。在编译期,应用被打包成.hap格式的HAP。在运行期,Application作为运行主体,其中AbilityStage是生命周期管理容器,UIAbility用于提供用户交互界面,WindowStage承载Window,Window里可包含多个Page用于展示具体内容,同时运行期也存在ExtensionAbility,辅助实现应用的特定功能。Stage模型组件间的关系Stage模型UIAbility组件项目实训应用模型概述10.2.2Stage模型目录概览MyApplication为项目根目录。.hvigor和.idea是开发工具相关配置目录。①在AppScope里,resources存放资源,app.json5是应用的全局配置信息。②entry是HarmonyOS工程入口模块,经编译构建成HAP包,提供基础功能,且一个应用中仅有一个entry模块。③oh_modules用于存放三方库依赖信息。④build-profile.json5是应用级配置信息,包括签名signingConfigs、产品配置products等。hvigorfile.ts是模块级编译构建任务脚本,开发者可以自定义相关任务和代码实现。Stage模型的重要组件Stage模型UIAbility组件项目实训应用模型概述10.2.3Stage模型配置文件bundleName参数代表“包名”,包名均为核心标识,确保应用能够被准确无误地定位与管理,此部分绝对不可省略。vendor参数代表“应用开发厂商描述”,同样是不可省略的部分。versionCode是一个数值型参数,代表“版本号”。versionName参数提供的是“给用户看的版本号”。icon参数对应“应用图标”,其主要作用场景聚焦于手机设置中的应用管理板块的应用图标。label参数代表“应用名”,主要作用场景聚焦于手机设置中的应用管理板块的应用名。app.json5配置文件Stage模型UIAbility组件项目实训应用模型概述10.2.3Stage模型配置文件module.json5配置文件Stage模型03UIAbility组件10.3.1UIAbility组件概述10.3.2UIAbility组件生命周期10.3.3跨UIAbility交互实现UIAbility组件项目实训应用模型概述10.3.1UIAbility组件概述①跨端迁移和多端协同,UIAbility组件原生支持应用组件级的跨端迁移和多端协同,能够在多种设备上运行,并提供一致的用户体验;②多窗口形态支持,支持多设备和多窗口形态,适应不同的应用场景和用户需求;③模块化设计,一个应用可以包含一个或多个UIAbility组件,每个组件可以看作一个功能模块,通过多个页面来实现,这种模块化设计使得应用更加灵活和易于维护。UIAbility组件特点Stage模型UIAbility组件是一种包含UI的应用组件,主要用于与用户进行交互。它是系统调度的基本单元,为应用提供绘制界面的窗口。UIAbility组件UIAbility组件项目实训应用模型概述10.3.1UIAbility组件概述Stage模型一个应用可以只有一个UIAbility组件(单UIAbility组件)也可以有多个UIAbility组件(多UIAbility组件),对应的应用如图所示,每个UIAbility组件实例都会在最近任务列表中显示一个对应的任务,使用户能够轻松切换和管理不同的应用界面。其中单UIAbility组件表示任务列表只有一个任务;多UIAbility组件表示任务列表中会有多个任务。UIAbility组件UIAbility组件项目实训应用模型概述10.3.2UIAbility组件生命周期Stage模型UIAbility组件的生命周期是指从组件创建到销毁所经历的一系列状态变化。UIAbility的生命周期包括Create、Foreground、Background、Destroy这4个状态,每个状态都有其特定的触发条件和需要执行的操作。UIAbility组件的生命周期UIAbility组件项目实训应用模型概述10.3.1UIAbility组件概述Stage模型UIAbility组件项目实训应用模型概述10.3.2UIAbility组件生命周期Stage模型UIAbility启动,然后调用onCreate()方法创建UIAbility实例,同时触发WindowStage的onWindowStageCreate()方法创建WindowStage。当UIAbility进入前台时,调用onForeground()方法;进入后台时,调用onBackground()方法。最后,当UIAbility被销毁时,依次调用onDestroy()方法,同时触发WindowStage的onWindowStageDestroy()方法进行销毁,结束生命周期。WindowStage生命周期函数的调用时序图UIAbility组件项目实训应用模型概述10.3.3跨UIAbility交互实现Stage模型在鸿蒙应用开发过程中,有时需要同时启动多个Ability,以满足复杂的业务需求和用户交互场景。当UIAbilityA需要启动UIAbilityB并向UIAbilityB传递一些数据时,可以使用Want对象作为一个载体,使用startAbility()将数据传递给UIAbilityBWant方法UIAbility组件项目实训应用模型概述10.3.3跨UIAbility交互实现Stage模型通过在Want对象内指定本应用Bundle名称信息(bundleName)和abilityName来启动应用内目标组件。Want对象的使用规范如下所示。步骤1:准备Want对象作为UIAbility的启动参数UIAbility组件项目实训应用模型概述10.3.3跨UIAbility交互实现Stage模型使用context获取上下文对象信息,然后调用startAbility()传入Want对象,将数据传入另一个UIAbility,context与startAbility()的使用规范如下所示。步骤2:利用上下文对象信息,调用startAbility()传入Want对象启动UIAbilityButton组件常用属性04项目实训UIAbility组件项目实训应用模型概述10.4项目实训Stage模型某公司正在开发一个名为“智能健康管理应用”的鸿蒙应用,该应用旨在帮助用户管理日常健康数据,如步数、心率、睡眠质量等。该应用包含多个Ability,如主界面的MainAbility,用于展示健康数据的DataAbility,以及设置界面的SettingAbility。该公司需要为整个应用配置一个统一的图标,并为每个Ability配置入口图标和标签,以提升用户体验和应用的辨识度。目前某公司正在开发一个名为“多功能购物应用”的鸿蒙应用,该应用包含多个功能模块,如商品展示、购物车、用户个人中心等。每个功能模块对应一个UIAbility,用户可以通过首页的导航栏在不同功能模块之间快速切换。为了实现这一功能,该公司需要配置多个UIAbility,并在首页实现多个UIAbility之间的切换。实训10.1智能健康管理应用图标及标签配置实训10.2多功能购物应用项目实训UIAbility组件项目实训应用模型概述10.4项目实训Stage模型某公司正在开发一个名为“智能健康管理应用”的鸿蒙应用,该应用旨在帮助用户管理日常健康数据,如步数、心率、睡眠质量等。该应用包含多个Ability,如主界面的MainAbility,用于展示健康数据的DataAbility,以及设置界面的SettingAbility。该公司需要为整个应用配置一个统一的图标,并为每个Ability配置入口图标和标签,以提升用户体验和应用的辨识度。任务要求:1.配置应用图标:在app.json5文件中配置应用的图标,确保在不同设备类型上都能正确显示。2.配置Ability入口图标和标签:在module.json5文件中为每个Ability配置入口图标和标签,以便用户在启动应用或切换Ability时能够快速识别。实训10.1智能健康管理应用图标及标签配置UIAbility组件项目实训应用模型概述10.4项目实训Stage模型1.打开项目目录:找到鸿蒙应用项目目录,确保包含app.json5和module.json5配置文件。2.准备图标资源:确保在resources目录下存在上述配置中指定的图标文件(如znjkgl.png、main_icon.png、data_icon.png、setting_icon.png),并且这些图标文件符合HarmonyOS的图标规范。3.修改app.json5文件:打开app.json5文件,添加或修改icon字段,指定应用图标的路径。代码如下所示。UIAbility组件项目实训应用模型概述10.4项目实训Stage模型4.修改module.json5文件:打开module.json5文件,为每个Ability添加或修改icon和label字段。代码如下所示:UIAbility组件项目实训应用模型概述10.4项目实训Stage模型目前某公司正在开发一个名为“多功能购物应用”的鸿蒙应用,该应用包含多个功能模块,如商品展示、购物车、用户个人中心等。每个功能模块对应一个UIAbility,用户可以通过首页的导航栏在不同功能模块之间快速切换。为了实现这一功能,该公司需要配置多个UIAbility,并在首页实现多个UIAbility之间的切换。任务要求:1.配置多个UIAbility:在module.json5文件中配置多个UIAbility,每个UIAbility
对应一个功能模块。2.实现首页导航栏:在首页实现一个导航栏,用户可以通过点击导航栏中的不同选项来启动或切换到对应的UIAbility。3.处理Ability间的数据传递(可选):如果需要,实现UIAbility
间的数据传递,如将商品信息从商品展示页面传递到购物车页面。实训10.2多功能购
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 核废料地质处置安全防护X技术论文
- 教育惩戒制度完善建议论文
- 教师情绪劳动群体互动论文
- JJF-相控阵超声探伤仪校准规范送审稿
- 农业废弃物产业链优化论文
- 护理病例分析技巧与策略
- 护理实践与案例分析
- 护理与健康教育
- 幼儿园大班社会领域《时光印记·成长展望》学期回顾与前瞻教学设计
- 2026年大学园艺学(园艺植物栽培学)试题及答案
- 2026年教师招聘面试试讲真题(高中政治)
- SYT 6620-2025《立式圆筒形钢制焊接储罐完整性评价技术规范》
- 开掘工作面局部通风机停风应急处置与安全管理
- 医院消毒供应室工作制度、职责、操作流程
- 2026年云南省第一人民医院医护人员招聘笔试参考题库及答案详解
- mckinsey -2026 人力资源监测报告:人力职能迎来转折点 HR Monitor 2026 A turning point for the people function
- 2026福建省农业融资担保有限公司招聘3人备考题库含答案详解
- 2026年中式烹调师高级技师考试题
- 慢性肾脏病的代谢紊乱与干预
- 雨课堂学堂在线学堂云《走进军事理论(空军工程)》单元测试考核答案
- (正式版)DB43∕T 1973-2020 《涉路工程安全技术规范》
评论
0/150
提交评论