文档管理中心
|

HarmonyOS

【华为1+X培训】鸿蒙中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都具体类似的生命周期

image.png

HarmonyOS Service Ability 生命周期

image.pngAndroid Activity生命周期

image.png

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无此能力。

点赞
2
收藏
回复
3
分享
举报
浏览1844 编辑于2021-08-20 01:25未知归属地
全部评论
最多点赞
最新发布
最早发布
写回答
新增插入模板功能
一键使用模板,快速填写内容,轻松发帖~
知道了
  • 为了保障您的信息安全,请勿上传您的敏感个人信息(如您的密码等信息)和您的敏感资产信息(如关键源代码、签名私钥、调试安装包、业务日志等信息),且您需自行承担由此产生的信息泄露等安全风险。
  • 如您发布的内容为转载内容,请注明内容来源。

我要提问题

了解社区公约,与您携手共创和谐专业的开发者社区。