鸿蒙Ability基础了解一下吧

一、Ability概念

1、Ability:能力

应用所具备能力的抽象,是应用程序的重要组成部分

2、分类

(1)Feature Ability(简称FA)
FA支持Page模板,用于提供与用户交互的能力

(2)Particle Ability(简称PA)
PA支持Service模板和Data模板,Service用于提供后台运行任务的能力,Data用于对外部提供统一的数据访问抽象

二、FA

1、Page Ability概念

(1)一个Page可以由一个或多个AbilitySlice(指应用的单个页面及其控制逻辑的总和)构成
(2)不同Page之间可以跳转,并可以指定跳转到目标Page中某个具体的AbilitySlice

2、Page Ability页面生命周期

(1)当用户进入、浏览、退出页面时,页面将有不同的状态,并回调不同的生命周期状态方法给外界
(2)Page Ability和AbilitySlice具有相似的生命周期回调方法,如下图所示:


3、PageAbility生命周期回调方法详解

(1)onStart():当系统首次创建Page实例时,触发该回调
①对于一个Page实例,该回调在其生命周期过程中仅触发一次,Page在该逻辑后将进入INACTIVE状态
②必须重写该方法,并在此配置默认展示的AbilitySlice

(2)onActive():Page会在进入INACTIVE状态后来到前台,然后系统调用此回调
①Page在此之后进入ACTIVE状态,该状态是应用与用户交互的状态
②Page将保持在此状态,除非某类事件发生导致Page失去焦点
比如用户点击返回键或导航到其他Page

(3)onInactive():Page失去焦点时,系统将调用此回调
①此后Page进入INACTIVE状态
②可在此回调中执行Page失去焦点时要执行的操作

(4)onBackground():Page不再对用户可见,系统将调用此回调
①此回调通知开发者进行相应的资源释放,此后Page进入BACKGROUND状态
②在此回调中应释放Page不可见时无用的资源,或执行较为耗时的状态保存操作

(5)onStop():系统将要销毁Page时,会触发此回调函数
①此回调进行系统资源的释放

(6)onForeground():处于BACKGROUND状态的Page仍然驻留在内存中,当重新回到前台时(比如用户重新导航到此Page),系统将调用此回调
①在此之后Page的生命周期状态回到INACTIVE状态
②在此回调中重新申请在onBackground()中释放的资源,最后Page的生命周期状态进一步回到ACTIVE状态,系统将通过onActive()回调通知开发者用户

4、Intent

(1)对象之间传递信息的载体
(2)Intent的构成元素包括Operation与Parameters
如下图所示:

三、PA

1、Service Ability

主要用于后台运行任务(如执行音乐播放、文件下载等),但不提供用户交互界面,其特性如下:
(1)可由其他应用或Ability启动,即使用户切换到其他应用,Service仍将在后台继续运行
(2)是单实例的,即在一个设备上,相同的Service只会存在一个实例
(3)是在主线程里执行的,因此,如果在Service里面的操作时间过长,必须在Service里创建新的线程来处理,防止造成主线程阻塞,应用程序无响应
(4)Service Ability 生命周期,调用Service方法的不同,其生命周期有以下两种路径:

2、Data Ability

有助于应用管理其自身和其他应用存储数据的访问,并提供与其他应用共享数据的方法,并且既可用于同设备不同应用的数据共享,也支持跨设备不同应用的数据共享。
(1)对外提供对数据的增、删、改、查,以及打开文件等接口
(2)Data提供的接口的具体实现是由自己提供

四、代码例子

实现:
效果展示如下:
HarmonyOS系统 文章被收录于专栏

认识HarmonyOS系统,介绍HarmonyOS系统的概念,技术架构体系,关键技术,系统安全 DevEco Studio的环境搭建,启动过程,模拟器调试 Hap相关知识

全部评论

相关推荐

评论
1
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务