你对HarmonyOS应用开发 底层中的 Ability..了解多少?

这篇文章将概述 Ability是应用所具备的能力的抽象,一个应用可以包含一个或多个Ability。Ability分为两种类型:FA(FeatureAbility)和PA(ParticleAbility)。FA/PA是应用的基本组成单元,能够实现特定的业务功能。FA有UI界面,而PA无UI界面。

以下博文会分为4个部分概述:点击这里查看获取鸿蒙系统资料方式 (qq.com)

  • 库文件:库文件是应用依赖的第三方代码形式,存放在libs目录,是.so文件。

  • 资源文件:应用的资源文件(字符串、图片、音频等)存放于resources目录下,便于开发者使用和维护,详见资源文件分类。点击这里查看获取鸿蒙系统资料方式 (qq.com)

  • 配置文件:配置文件(config.json)是应用的Ability信息,用于声明应用的Ability,以及应用所需权限等信息,详见点击这里查看获取鸿蒙系统资料方式 (qq.com)

  • pack.info:描述应用软件包中每个HAP的属性,由IDE编译生成,应用市场根据该文件进行拆包和HAP的分类存储。HAP的具体属性包括:delivery-with-install:表示该HAP是否支持随应用安装。name:HAP文件名。module-type:模块类型,entry或feature。device-type:表示支持该HAP运行的设备类型。 

    你对HarmonyOS应用开发 底层中的 Ability..了解多少?_第1张图片

配置文件的元素

此部分提供“config.json”文件中所有属性的详细解释。

配置文件的内部结构

其次,分析梳理下项目结构,项目的结构大致如图,还有一些细枝末节的没有体现在图里:你对HarmonyOS应用开发 底层中的 Ability..了解多少?_第2张图片

deviceConfig对象的内部结构

项目结构分析

deviceConfig包含在具体设备上的应用配置信息,可以包含default、car、tv、wearable、liteWearable、smartVision等属性。default标签内的配置是适用于所有设备通用,其他设备类型如果有特殊的需求,则需要在该设备类型的标签下进行配置。内部结构说明参见

基本就是这些了,应该没有漏的,插件的详细使用,请进入各插件的 GitHub 主页。

在此,把我项目的插件引入代码及版本管理的HarmonyOS代码贴出来,如下:插件引入代码:点击这里查看获取鸿蒙系统资料方式 (qq.com)

deviceConfig示例:

你对HarmonyOS应用开发 底层中的 Ability..了解多少?_第3张图片

module对象的内部结构(所用知识点)

这里主要对首页功能及知识点进行概述,由于其他页面是引入了之前的 module对象包含HAP包的配置信息,内部结构说明参见

首页重点概述以下功能的实现:​​​​​​​点击这里查看获取鸿蒙系统资料方式 (qq.com)

你对HarmonyOS应用开发 底层中的 Ability..了解多少?_第4张图片

你对HarmonyOS应用开发 底层中的 Ability..了解多少?_第5张图片

module示例:

你对HarmonyOS应用开发 底层中的 Ability..了解多少?_第6张图片

你对HarmonyOS应用开发 底层中的 Ability..了解多少?_第7张图片

相信很多小伙伴在接触HarmonyOS的过程中或工作中,经常会被问到HarmonyOS系统结构的问题,这类问题通常会经过面试官的层层深挖,直到挑战到你的技术边界。

如果想要精进,不仅要对底层原理充分了解,还要知道如何利用HarmonyOS知识指导我们代码实践开发,像Android App 的启动机制、AMS、PMS、WMS、Handler、Binder等...

你可能感兴趣的:(架构,鸿蒙,鸿蒙系统)