关于鸿蒙开发中Stage应用模型的相关介绍

应用模型 是系统为开发者提供的应用程序所需能力的抽象提炼,它提供了应用程序必备的组件和运行机制。

简言之:应用模型就是 应用的施工图纸,他规范了:程序运行流程、项目结构、文件功能等……

了解应用模型之后,就可以知道:

  1. 实现某个功能需要在哪个文件编码;
  2. 如何感知应用的状态变化(启动、关闭、且后台)
  3. 如何调整项目配置;
  4. …………

随着系统的演进发展,先后提供了两种应用模型:

  1. FA模型:从API 7开始支持的模型,已经不再主推
  2. Stage模型:从API 9开始新增的模型,是目前主推且会长期演进的模型

Stage模型 - 目录概览

AppScope > app.json5:应用的全局配置信息。

  • entry:HarmonyOS工程模块,编译构建生成一个HAP包。
    • src > main > ets:用于存放ArkTS源码。
    • src > main > ets > entryability:应用 / 服务的入口。
    • src > main > ets > pages:应用 / 服务包含的页面。
    • src > main > resources:用于存放应用 / 服务所用到的资源文件。
    • src > main > module.json5:模块应用配置文件。
    • build-profile.json5:当前的模块信息、编译信息配置项,包括buildOption、targets配置等。
    • hvigorfile.ts:模块级编译构建任务脚本,开发者可以自定义相关任务和代码实现。
    • obfuscation-rules.txt:混淆规则文件。
  • oh_modules:用于存放三方库依赖信息。
  • build-profile.json5:应用级配置信息,包括签名signingConfigs、产品配置products等。
  • hvigorfile.ts:应用级编译构建任务脚本。

 Stage模型 - app.json5应用配置

应用配置在工程的AppScope目录下的app.json5配置文件中。

{
    "app": {
        "bundleName": "包名 不可省略",
        "vendor": "应用开发厂商描述 不可省略",
        "versionCode": "版本号 数值越大版本越高",
        "versionName": "给用户看的版本号",
        "icon": "应用图标",
        "label": "应用名"
    }
}

Stage模型 - module.json5模块配置

 module.json5配置文件,配置ability 入口图标 和 标签配置

{
    "module": {
        ...
        "abilities": [
            {
                "icon": "$media.icon",
                "label": "$string:EntryAbility_label"
            }
            ...
        ]
    }
}

Stage模型 - UIAbility组件

每一个UIAbility实例,都对应于一个最近任务列表中的任务。

UIAbility是一种包含用户界面的应用组件,主要用于和用户进行交互

一个应用可以有一个UIAbility,也可以有多个UIAbility。

  • 单UIAbility:任务列表中只有一个任务。
  • 多UIAbility:在任务列表中会有多个任务。
多UIAbility应用​​​​​
单UIAbility应用

 Stege模型 - UIAbility的添加和设置启动

Stage模型 - UIAbility组件的生命周期

 当用户打开、切换和返回到对应应用时,应用中的UIAbility实例会在其生命周期的不同状态之间切换。

  • onCreate:Ability创建时回调,执行初始化业务逻辑操作;
  • onDestory:Ability销毁时回调,执行资源清理等操作;
  • onForeground:应用从后台转到前台时触发;
  • onBackground:当应用从前台转到后台时触发;

……

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值