【华为1+X培训】HarmonyOS鸿蒙Next中ability和Android Activity有什么区别?
【华为1+X培训】HarmonyOS鸿蒙Next中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应用的四大组件之一, 它提供一个窗口用于应用在其中绘制界面,用户可以在界面上完成交互动作。
相似点:
- 生命周期
HarmonyOS的Page Ability、Service Ability和Android Activity都具体类似的生命周期
HarmonyOS Service Ability 生命周期
Android Activity生命周期
- 页面交互 1)页面都需要注册,且注册后才能使用; 2)都提供一个窗口,用于提供与用户的交互能力,都可以通过xml文件或者Code加载显示页面; 3)页面跳转都基于Intent对象,以及使用Intent进行数据传递。 4)HarmonyOS Page Ability中的Fraction 和Android Activity中的Fragment中相似,都可以提供页面重复使用的一部分。
区别:
-
提供能力 HarmonyOS Ability提供了Page、Service、Data能力,集页面展示、后台服务、数据访问与一身。 Android Activity功能并不能直接提供服务和数据访问的能力,它需要依赖Service、ContentProvider、SharedPreferences以及数据库。
-
页面路由 HarmonyOS Ability的Page能力,可以由一个或多个AbilitySlice构成,AbilitySlice是指应用的单个页面及其控制逻辑的总和,AbilitySlice可以通过Intent直接进行跳转。 Android Activity则无此能力。
-
注册使用 HarmonyOS Ability在config.json文件中注册。 Android Activity在AndroidManifest.xml中注册。
-
跨设备 HarmonyOS Ability可以支持将Page在同一用户的不同设备间迁移,以便支持用户无缝切换的诉求。 Android无此能力。
深受大佬文章启发!向大佬好好学习!
更多关于【华为1+X培训】HarmonyOS鸿蒙Next中ability和Android Activity有什么区别?的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
楼主的讲解一个月才有一次吗?
感谢大佬发文,确实有所收获
在HarmonyOS鸿蒙Next中,Ability与Android的Activity有显著区别。Ability是鸿蒙系统的核心组件,分为Page Ability(用于UI展示)、Service Ability(后台服务)和Data Ability(数据共享)。与Activity相比,Ability更加轻量级,支持跨设备协同,生命周期管理更灵活,且不依赖于单一设备。此外,Ability的设计更注重分布式能力,适用于多设备场景,而Activity主要针对单一设备。