harmonyOS应用包结构
APP Pack
harmonyOS应用包软件包以APP Pack形式发布,它是由一个或多个HAP以及描述每个HAP属性的pack.info组成。HAP是Ability的部署包,HarmonyOS应用代码围绕Ability组件展开。一个HAP是由代码、资源、第三方库及应用配置文件组成的模块包,可分为entry和feature两种模块类型。
entry
应用的主模块。一个APP中,对于同一设备类型必须有且只有一个entry类型的HAP,可独立安装运行。
feature
应用的动态特性模块。一个APP可以包含一个或多个feature类型的HAP,也可以不含。只有包含Ability的HAP才能够独立运行。
Ability
Ability是HarmonyOS应用程序可以提供的功能的抽象。HarmonyOS应用程序的能力分为两种类型: Feature Ability 和 Particle Ability。
Feature Ability
Feature Ability 代表具有UI的功能,并旨在与用户进行交互。
Particle Ability
Particle Ability表示没有UI的能力,并且主要用于提供对FA的支持。提供计算功能作为后台服务或提供数据访问功能作为数据存储库
Ability
页面
显示UI的功能。UI通过AbilitySlice呈现。必须重写onStart()方法,并使用setMainRoute()和addActionRoute()方法来配置Page功能的条目。
服务
一种在后台运行且没有UI的功能。它用于开发始终在后台运行或与其他功能连接的服务。当服务能力与其他能力连接时,将返回一个远程对象,您可以使用该远程对象来调用该服务能力提供的功能。
数据
一种用于操作数据且没有UI的功能。它提供了用于插入,删除,更新和查询数据以及打开文件的方法。
UI更新数据一般是通过网络服务获取数据,或者查找数据库来更新UI的,这一些列操作都在Ability中进行操作。
Ability生命周期
1.onStart():当系统首次创建Page实例时,触发此回调。(全局仅触发一次)
2.onActive():当Page从INACTIVE进入前台,系统需要调用此回调状态,(使Page进入ACTIVE状态(应用与用户的交互状态))
3.onInactive():当Page失去焦点,调用此回调之后使Page进入INACTIVE状态
4.onBackground():调用此回调后台用于释放用户不可见时的无用Page的资源(使Page进入BACKGROUND状态)
5.onForeground(): 调用此回调,重新申请onBackground()中释放的Page资源,最后使Page回到ACTIVE状态。
6.onStop():当系统要销毁Page时调用此回调
关闭当前Page