项目1 第一个ArkTS应用(Stage模型)_第1页
项目1 第一个ArkTS应用(Stage模型)_第2页
项目1 第一个ArkTS应用(Stage模型)_第3页
项目1 第一个ArkTS应用(Stage模型)_第4页
项目1 第一个ArkTS应用(Stage模型)_第5页
已阅读5页,还剩27页未读 继续免费阅读

付费下载

下载本文档

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

文档简介

项目1第一个ArkTS应用(Stage模型)目录1项目描述2学习目标3知识图谱4技术准备5项目实施6项目小结7AI赋能1项目描述创建一个基于Stage模型的ArkTS应用,该应用包含主界面和界面二两个界面,主界面显示“主界面:鸿蒙初启天地新,万物生辉共此生。”,界面二显示“界面二:自有千秋成大业,何惧风雨任西东。”,并实现两个界面间的相互跳转功能。应用运行效果如图1-1、图1-2所示。图1-1主界面运行效果图1-2界面二运行效果2学习目标知识目标1.了解鸿蒙操作系统2.掌握DevEcoStudio的使用3.了解AI辅助编程工具4.熟悉工程目录及配置文件5.了解ArkTS语言6.了解Stage模型技能目标1.能够熟练使用DevEcoStudio创建鸿蒙项目2.能够熟练使用模拟器测试鸿蒙应用素质目标1.具有良好的软件编程规范素养2.树立技术自信,培养精益求精的工匠精神3知识图谱本项目的知识图谱以“第一个ArkTS应用(Stage模型)”为核心,系统梳理了鸿蒙应用开发的核心知识体系。图谱采用中心辐射式结构,在核心主题节点下延伸出四大模块,直观呈现了从鸿蒙操作系统简介、工程目录及配置文件、ArkTS语言简介到Stage模型简介的完整学习路径。项目知识图谱如图1-3所示。

图1-3

项目知识图谱4技术准备1.4.1鸿蒙操作系统简介1.OpenHarmony——鸿蒙操作系统的底座OpenHarmony是由开放原子开源基金会(OpenAtomFoundation)孵化及运营的开源项目,鼓励开发者和组织参与贡献,目标是面向全场景、全连接、全智能时代,基于开源的方式,搭建一个智能终端设备操作系统的框架和平台,支持多种设备之间的无缝互联,从而构建一个开放的、分布式的操作系统生态,促进万物互联产业的繁荣发展。华为已于2020年、2021年分两次将鸿蒙操作系统的基础能力全部捐献给开放原子开源基金会,从而形成了OpenHarmony开源项目。OpenHarmony作为我国首个自主可控的智能终端操作系统开源底座,其诞生与发展标志着中国在核心基础软件领域实现了从“跟跑”到“并跑”甚至“领跑”的关键跨越。华为将鸿蒙系统基础能力捐献给开放原子开源基金会,不仅体现了企业响应国家“十四五”规划中“科技自立自强”战略的担当,更通过开源协作模式汇聚全球开发者智慧,构建起自主可控的全场景分布式生态。4技术准备2.HarmonyOS——商业化的典范HarmonyOS(鸿蒙操作系统/鸿蒙OS)是华为在OpenHarmony的基础上,整合了华为的各种特色服务,推出的一个全场景、多设备类型、多内核的分布式操作系统,它支持华为手机、平板、智能穿戴、智慧屏等多种终端设备运行。HarmonyOS并非完全开源,而OpenHarmony是完全开源的项目,面向所有开发者开放。HarmonyOS作为OpenHarmony的商用典范,通过微内核架构、确定性时延引擎等自主技术,彻底打破了国外操作系统在移动终端领域的长期垄断。尤其是HarmonyOSNEXT“纯血鸿蒙”的推出,完全摒弃对安卓生态的依赖,标志着我国拥有了从底层架构到应用生态完全自主的移动操作系统。这一突破不仅保障了国家数字基础设施的安全可控,更在全球操作系统格局中树立了中国标准。而随着HarmonyOS6.0的推出,其核心体验趋于稳定,应用生态也逐步完善,华为认为它已从预览性质的系统成长为能担当大任的正式系统,“NEXT”后缀的使命已完成,因此在该版本中取消了这一标识,系统界面名称从之前的“HarmonyOSNEXT”统一改为“HarmonyOS”。4技术准备1.4.2工程目录及配置文件(Stage模型)1.工程目录工程目录是指基于HarmonyOS应用开发框架创建的项目文件结构,用于组织和管理应用开发所需的各类资源、代码、配置文件等。如图1-4所示。图1-4工程目录4技术准备2.工程配置文件每个应用项目的代码目录下必须包含应用配置文件,这些配置文件会向编译工具、操作系统和应用市场提供应用的基本信息。在基于Stage模型开发的应用项目代码下,都存在一个app.json5配置文件以及一个或多个module.json5配置文件。app.json5配置文件主要包含以下内容:

应用的全局配置信息,包含应用的BundleID、开发厂商名称、版本号等基本信息。

特定设备类型的配置信息。module.json5配置文件主要包含以下内容:

Module的配置信息,包含名称、类型、描述、支持的设备类型等。

应用组件信息,包含UIAbility组件和ExtensionAbility组件的描述。

应用运行过程中所需的权限信息。由于app.json5和module.json5配置文件内容较多,具体文件中的配置项可以参考华为HarmonyOS开发者官网。4技术准备1.4.3ArkTS语言简介ArkTS是HarmonyOS应用开发的官方高级语言。ArkTS在TypeScript(简称TS)生态基础上做了进一步扩展,保持了TS的基本风格,同时通过规范定义强化开发期静态检查和分析,提升代码健壮性,并实现更好的程序执行稳定性和性能。对比标准TS的差异可以参考从TypeScript到ArkTS的适配规则。ArkTS同时也支持与TS/JavaScript(简称JS)高效互操作。ArkTS语言的诞生与发展,是我国在基础软件领域坚持自主创新的重要实践,同时也是HarmonyOS生态的技术基石。作为完全面向HarmonyOS设计的编程语言,ArkTS通过强化静态检查、优化并发能力及构建高效编译工具链等技术创新,打破了长期以来移动开发领域对国外技术生态的依赖。未来,ArkTS将结合应用开发和运行的需求持续演进,逐步提供并发能力增强、系统类型增强、分布式开发范式等更多特性。ArkTS语言的语法规则会在本书后续章节中讲解。4技术准备1.4.4Stage模型简介(应用模型)AbilityKit(程序框架服务)提供了应用程序开发和运行的应用模型,是系统为开发者提供的应用程序所需能力的抽象提炼,它提供了应用程序必备的组件和运行机制。有了应用模型,开发者可以基于一套统一的模型进行应用开发,使应用开发更简单、高效。应用模型的构成要素包括:1.应用组件应用组件是应用的基本组成单位,参与构成应用的运行入口。应用组件在不同状态间切换,这些状态称为应用组件的生命周期,用户在启动、使用和退出应用过程中会经历这些状态。应用组件提供生命周期回调函数,开发者通过这些回调函数感知应用的状态变化。应用开发者在编写应用时,首先需要编写应用组件及其生命周期回调函数,并在应用配置文件中配置相关信息。通过这种方式,操作系统在运行期间通过配置文件创建应用组件的实例,并调度其生命周期回调函数,从而执行开发者的代码。2.应用进程模型应用进程模型定义应用进程的创建和销毁方式,以及进程间的通信方式。4技术准备3.应用线程模型应用线程模型定义应用进程内线程的创建和销毁方式、主线程和UI线程的创建方式、线程间的通信方式。4.应用任务管理模型(仅对系统应用开放)应用任务管理模型定义任务(Mission)的创建和销毁方式,以及任务与组件间的关系。所谓任务,即用户使用一个应用组件实例的记录。每次用户启动一个新的应用组件实例,都会生成一个新的任务。例如,用户启动一个视频应用,此时在“最近任务”界面,将会看到视频应用这个任务,当用户点击这个任务时,系统会把该任务切换到前台,如果这个视频应用中的视频编辑功能也是通过应用组件编写的,那么在用户启动视频编辑功能时,会创建视频编辑的应用组件实例,在“最近任务”界面中,将会展示视频应用、视频编辑两个任务。5.应用配置文件应用配置文件中包含应用配置信息、应用组件信息、权限信息、开发者自定义信息等,这些信息在编译构建、分发和运行阶段分别提供给编译工具、应用市场和操作系统使用。随着系统的演进发展,先后提供了两种应用模型:

FA(FeatureAbility)模型:从API7开始支持的模型,目前已不再推荐使用。

Stage模型:从API9开始新增的模型,是目前主推且会长期演进的模型。在该模型中,AbilityStage、WindowStage等类作为应用组件和窗口的‘舞台’,故称其为Stage模型。4技术准备Stage模型概念如图1-5所示。图1-5

Stage模型概念Stage模型中的基本概念介绍如下。AbilityStage每个Entry类型或者Feature类型的HAP在运行期都有一个AbilityStage实例,当HAP中的代码首次被加载到进程中的时候,系统会先创建AbilityStage实例。UIAbility组件和ExtensionAbility组件Stage模型提供UIAbility和ExtensionAbility两种类型的组件,这两种组件都有具体的类承载,支持面向对象的开发方式。UIAbility组件是一种用于实现用户界面交互的应用组件,主要用于和用户进行交互。例如,图库类应用可在UIAbility组件中展示图片瀑布流,用户选择图片后,系统会在新界面展示图片的详细内容。同时,用户可点击返回键返回瀑布流界面。UIAbility组件的生命周期仅包含创建、销毁、前台和后台等状态,显示相关的状态通过WindowStage事件向开发者暴露。4技术准备ExtensionAbility组件是一种针对特定应用场景设计的应用组件。开发者需使用ExtensionAbility组件的派生类,而非直接从其派生。目前ExtensionAbility组件有用于卡片场景的FormExtensionAbility,用于输入法场景的InputMethodExtensionAbility,用于闲时任务场景的WorkSchedulerExtensionAbility等多种派生类,这些派生类都是基于特定场景提供的。例如,用户在桌面创建应用卡片时,开发者需从FormExtensionAbility派生,实现回调函数,并在配置文件中配置相应能力。ExtensionAbility组件的派生类实例由用户操作触发创建,并由系统管理其生命周期。在Stage模型中,三方应用开发者无法开发自定义服务,需根据业务场景通过ExtensionAbility组件的派生类实现。WindowStage每个UIAbility实例均与一个WindowStage类实例绑定,后者作为应用进程内的窗口管理器。WindowStage类实例包含一个主窗口。UIAbility实例通过WindowStage类实例持有一个主窗口,该窗口为ArkUI提供绘制区域。4技术准备Context在Stage模型上,Context及其派生类向开发者提供在运行期可以调用的各种资源和能力。UIAbility组件和各种ExtensionAbility组件的派生类都有各自不同的Context类,这些类都继承自基类Context,但各自根据所属组件提供不同的能力。Stage模型的推出是HarmonyOS技术架构的重大革新,同时也是我国基础软件领域坚持自主创新的生动实践。作为完全面向分布式场景设计的应用模型,Stage模型通过AbilityStage、WindowStage等创新机制,实现了应用组件生命周期的精细化管理,为开发者提供了更高效、更安全的开发范式。这一技术突破打破了长期以来移动开发领域对国外技术架构的依赖,展现了我国在操作系统核心技术上的自主创新能力。5项目实施1.5.1环境搭建1.DevEcoStudio的安装(1)DevEcoStudio介绍HUAWEIDevEcoStudio是基于IntelliJIDEACommunity开源版本打造,为运行在HarmonyOS系统上的应用和元服务提供一站式的开发平台。(2)DevEcoStudio下载前往华为开发者联盟官网的下载中心,登录华为账号后下载DevEcoStudio,并根据下载中心界面工具完整性指导进行完整性校验。(3)DevEcoStudio安装。DevEcoStudio支持Windows和macOS操作系统。5项目实施2.DevEcoStudio的使用(1)DevEcoStudio功能区介绍DevEcoStudio功能区的布局如图1-9所示。图1-9DevEcoStudio功能区划分5项目实施(2)DevEcoStudio创建项目打开DevEcoStudio,在欢迎页单击“CreateProject”按钮,创建一个新项目。根据项目创建向导,选择创建Application。选择EmptyAbility模板,然后单击“Next”按钮,如图1-10所示。图1-10模版选择5项目实施在工程配置界面,需要根据向导配置工程的基本信息,如图1-11所示。单击“Finish”按钮,工具会自动生成示例代码和相关资源,等待项目创建完成。图1-11项目配置5项目实施(3)创建并启动模拟器单击菜单栏的“Tools>DeviceManager”,单击右下角的“Edit”按钮设置模拟器实例的存储路径LocalEmulatorLocation,如图1-12所示。图1-12设备管理器5项目实施在LocalEmulator页签中,单击右下角的“NewEmulator”按钮,创建一个新的模拟器实例。单击“Next”按钮,核实确定需要创建的模拟器的名称,内存和存储空间,然后单击“Finish”按钮创建模拟器,如图1-14所示。图1-14虚拟设备配置5项目实施在设备管理器界面,单击启动模拟器,如图1-15所示。图1-15设备列表图5项目实施(4)运行项目到模拟器并查看日志信息单击DevEcoStudio的“Run>Run模块名称”或

,如图1-16所示。DevEcoStudio会启动应用的编译构建与推包,完成后应用即可运行在模拟器上,如图1-17所示。图1-16模块运行图1-17应用在模拟器上运行5项目实施1.5.2创建项目1.选择模版选择“EmptyAbility”模版,然后单击“Next”按钮,如图1-18所示。图1-18选择模版5项目实施2.配置项目在“Projectname”中配置项目名称为“MyFirstApp”,其他项按默认配置即可,单击“Finish”按钮等待项目自动创建完成,如图1-19所示。图1-19配置项目5项目实施3.生成项目项目自动创建完成后如图1-20所示。图1-20生成项目5项目实施1.5.3界面实现(代码实现参见教材)1.主界面实现(1)主界面MyFirstApp\entry\src\main\ets\pages\Index.ets。(2)在以上代码基础上添加“跳转到界面二”按钮,将界面上显示的“HelloWorld”改成“主界面:鸿蒙初启天地新,万物生辉共此生。”并调整字体大小。(3)在功能区的侧边工具栏单击Previewer,打开预览区(预览器)。2.界面二实现(1)新建第二个界面文件。在工程目录区,打开entry>src>main>ets,右击pages文件夹,选择“New>Page>EmptyPage”,命名为SecondPage,单击“Finish”按钮。(2)界面二MyFirstApp\entry\src\main\ets\pages\SecondPage.ets。(3)在以上代码基础上添加“返回主界面”按钮,将界面上显示的“HelloWorld”改为“界面二:自有千秋成大业,何惧风雨任西东。”并调整字体大小。(4)在功能区的侧边工

温馨提示

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

评论

0/150

提交评论