> 文档中心 > HarmonyOS-Ability与Android-Activity之间有什么区别与联系

HarmonyOS-Ability与Android-Activity之间有什么区别与联系


HarmonyOS-Ability与Android-Activity之间有什么区别与联系

HarmonyOS Ability是应用所具备能力的抽象,也是应用程序的重要组成部分。Ability可以分为FA(Feature Ability)和PA(Particle Ability)两种类型。

FA支持Page Ability:

Page模板是FA唯一支持的模板,用于提供与用户交互的能力。一个Page实例可以包含一组相关页面,每个页面用一个AbilitySlice实例表示。

PA支持Service Ability和Data Ability:

Service模板:用于提供后台运行任务的能力。

Data模板:用于对外部提供统一的数据访问抽象。

Android Activity是Android应用的四大组件之一, 它提供一个窗口用于应用在其中绘制界面,用户可以在界面上完成交互动作。

相似点:

1. 生命周期

HarmonyOS的Page Ability、Service Ability和Android Activity都具体类似的生命周期

HarmonyOS Service Ability 生命周期

 

Android Activity生命周期

 

2. 页面交互

1)页面都需要注册,且注册后才能使用;

2)都提供一个窗口,用于提供与用户的交互能力,都可以通过xml文件或者Code加载显示页面;

3)页面跳转都基于Intent对象,以及使用Intent进行数据传递。

4)HarmonyOS Page Ability中的Fraction 和Android Activity中的Fragment中相似,都可以提供页面重复使用的一部分。

区别:

1. 提供能力

HarmonyOS Ability提供了Page、Service、Data能力,集页面展示、后台服务、数据访问于一身。

Android Activity功能并不能直接提供服务和数据访问的能力,它需要依赖Service、ContentProvider、SharedPreferences以及数据库。

2. 页面路由

HarmonyOS Ability的Page能力,可以由一个或多个AbilitySlice构成,AbilitySlice是指应用的单个页面及其控制逻辑的总和,AbilitySlice可以通过Intent直接进行跳转。

Android Activity则无此能力。

3. 注册使用

HarmonyOS Ability在config.json文件中注册。

Android Activity在AndroidManifest.xml中注册。

4. 跨设备

HarmonyOS Ability可以支持将Page在同一用户的不同设备间迁移,以便支持用户无缝切换的诉求。

Android无此能力。

WIFI共享精灵