当前位置: 首页 > article >正文

【HarmonyOS 4.0】鸿蒙应用模型

  1. 应用模型是HarmonyOS为开发者提供的应用程序所需能力的抽象提炼,它提供了应用程序必备的组件和运行机制。有了应用模型,开发者可以基于一套统一的模型进行应用开发,使应用开发更简单、高效。
  2. 随着系统的演进发展,HarmonyOS先后提供了两种应用模型:
    2.1 FA(Feature Ability)模型:HarmonyOS早期版本开始支持的模型,已经不再主推。
    2.2 Stage模型:HarmonyOS 3.1 Developer Preview版本开始新增的模型,是目前主推且会长期演进的模型。
    在该模型中,由于提供了 AbilityStage、WindowStage 等类作为应用组件和Window窗口的“舞台”,因此称这种应用模型为Stage模型。

Stage 模型

在这里插入图片描述
在这里插入图片描述

1. Stage 模型应用/组件级配置文件

  1. 基于 Stage 模型创建的工程,有俩个重要的配置文件,一个是应用级的配置文件app.json5,另一个是模块级的module.json5
  2. app.json5 用于配置整个应用的基本信息,包括应用的包名、开发商、版本号等。
    app.json5配置文件
  3. module.json5 用于配置当前模块的各种信息,包括基本信息(例如名称、类型、描述、支持的设备类型等)、Ability 组件信息、所需权限等。
    module.json5配置文件
  4. 在鸿蒙应用中,桌面上启动的图标以 UIAbility 为粒度,支持同一个应用存在多个启动图标,点击后会启动对应的 UIAbility,因此桌面图标需要在 module.json5 文件中对应的 Ability 中进行设置。
"abilities": [
     {
       "name": "EntryAbility",
       "srcEntry": "./ets/entryability/EntryAbility.ets",
       "description": "$string:EntryAbility_desc",
       "icon": "$media:layered_image",
       "label": "$string:EntryAbility_label",
     }
   ]
  1. 设置界面中的应用图标是以应用为粒度的,每个应用只能设置一个,需要在 app.json5 文件中配置。
{
 "app": {
   "bundleName": "com.example.englishpractice",
   "vendor": "example",
   "versionCode": 1000000,
   "versionName": "1.0.0",
   "icon": "$media:splash_logo3",
   "label": "$string:app_name"
 }
}

2 Stage 模型提供的 UIAbility 组件

UIAbility 组件生命周期函数

3 Stage 模型提供的 ExtensionAbility 组件


http://www.kler.cn/a/288402.html

相关文章:

  • Vim 编辑器学习笔记
  • 浪潮信息“源”Embedding模型登顶MTEB榜单第一名
  • Unity 性能优化方案
  • SpringBoot参数注解
  • Leecode热题100-35.搜索插入位置
  • [ 网络安全介绍 5 ] 为什么要学习网络安全?
  • [Algorithm][综合训练][kotori和n皇后][取金币][矩阵转置]详细讲解
  • 【JavaEE初阶】HTTP请求(Request)
  • 某付宝又火了!什么样的人能够申请网商贷?个人也能申请吗?
  • Java基于微信小程序的超市购物管理系统
  • golang中return和defer的执行顺序的一道题
  • 华为与联发科的专利博弈:技术较量还是市场重塑?
  • 【区块链 + 物联网】斐得坊智慧停车区块链 | FISCO BCOS应用案例
  • 【教程】2024.09.03 Qlib数据加载器以及数据集加载器 Alpha158 Aplha360详细的讲解,以及源码
  • JAVAEE初阶第二节——多线程基础(上)
  • golang关于slice map函数传参的小问题
  • 娱乐小项目-树莓派履带小车
  • 中兴-ZSRV2路由器-任意文件读取
  • arcgisjs4.0 内网部署字体不显示问题处理
  • 【技术详解】Java泛型:全面解析与实战应用(进阶版)
  • sqli-labs靶场通关攻略(六十一关到六十五关)
  • ARM/Linux嵌入式面经(三十):腾讯 C++开发工程师
  • 【Linux学习】Linux开发工具——vim
  • html+css+js网页设计 博物馆 亚历山大美术馆6个页面
  • Flask中的g的作用
  • Linux学习笔记(4)----Debian压力测试方法