HarmonyOS(鸿蒙)—— Ability与页面

打印 上一主题 下一主题

主题 535|帖子 535|积分 1605

3.3 HAP中的Ability
四、开发DEMO

一、简介

1.1 什么是页面

信息以页面信息组织,信息页面由语言来实现,在各个信息页面之间建立超文本链接以便欣赏,这就是页面。页面一般包罗:文本、图像、表格、超链接等基本元素。

2.1 HarmonyOS(鸿蒙)中的页面

当我们打开手机App之后看到的都是页面!


在HarmonyOS中,一个页面可以被当做一个Ability,更精确的说是Page Ability中的AbilitySlice(指应用的单个页面及其控制逻辑的总和),这里先简单介绍Ability。

二、Ability

2.1 简介

Ability是应用所具备本领的抽象(我感觉也可以理解为模板,模块),也是应用程序的重要组成部门。一个应用可以具备多种本领(即可以包罗多个Ability),HarmonyOS支持应用以Ability为单元进行部署。
Ability分为两种:

  • FA(Feature Ability)
  • PA(Particle Ability)
| Ability类型 | 支持模板 | 描述 |
| — | — | — |
| Feature Ability | Page Ability | Page模板:用于提供与用户交互的本领。一个Page实例可以包罗一组相干页面,每个页面用一个AbilitySlice实例表示。 |
| Particle Ability | Service Ability和Data Ability | Service模板:用于提供背景运行使命的本领。
Data模板:用于对外部提供统一的数据访问抽象。 |
2.2 Page Ability

Page Ability是 Feature Ability唯一支持的模板。
用于提供与用户的交互本领,实在就是页面的父级。一个Page可以由一个或多个AbilitySlice构成,AbilitySlice是指应用的单个页面及其控制逻辑的总和。官方认为当一个Page由多个AbilitySlice共同构成时,这些AbilitySlice页面提供的业务本领应具有高度相干性。

HarmonyOS支持差别Page之间的跳转,并可以指定跳转到目的Page中某个详细的AbilitySlice。

2.3 Service Ability

Service Ability是 Particle Ability支持的模板之一。
用于背景运行使命(如执行音乐播放、文件下载等),但不提供用户交互界面。Service可由其他应用或Ability启动,即使用户切换到其他应用,Service仍将在背景继续运行。
Service是单实例的。在一个装备上,相同的Service只会存在一个实例。如果多个Ability共用这个实例,只有当与Service绑定的所有Ability都退出后,Service才气够退出。由于Service是在主线程里执行的,因此,如果在Service内里的操作时间过长,开发者必须在Service里创建新的线程来处理,防止造成主线程阻塞,应用程序无响应。

如下是HarmonyOS线程间通信开发概述官网地址:
   https://developer.harmonyos.com/cn/docs/documentation/doc-guides/inter-thread-overview-0000000000038958
  2.4 Data Ability

Data Ability是 Particle Ability支持的模板之一。
用于应用管理其自身和其他应用存储数据的访问,并提供与其他应用共享数据的方法。Data既可用于同装备差别应用的数据共享,也支持跨装备差别应用的数据共享。数据的存放情势多样,可以是数据库,也可以是磁盘上的文件。Data对外提供对数据的增、删、改、查,以及打开文件等接口,这些接口的详细实现由开发者提供。

三、HarmonyOS页面的设计

3.1 原子化服务与HAP简介

HarmonyOS中的应用与传统App应用有一个很大的亮点,HarmonyOS提供了一种面向未来的服务提供方式,原子化服务。
原子化服务可以免安装(无需显示安装,由体系背景按需主动安装非常方便),它支持运行在1+8+N装备上。
原子化服务与传统的App应用对好比下:
| 项目 | 原子化服务 | 传统App应用 |
| — | — | — |
| 件包形态 | APP Pack(.app) | APP Pack(.app) |
| 分发平台 | 由原子化服务平台(Huawei Ability Gallery)管理和分发 | 由应用市场(AppGallery)管理和分发 |
| 安装后有无桌面icon | 无桌面icon,但可手动添加到桌面,显示情势为服务卡片 | 有桌面icon |
| HAP包免安装要求 | 所有HAP包(包罗Entry HAP和Feature HAP)均需满意免安装要求 | 所有HAP包(包罗Entry HAP和Feature HAP)均为非免安装的 |
官网地址:
   https://developer.harmonyos.com/cn/docs/documentation/doc-guides/atomic-service-definition-0000001090840664
  原子化服务由HAP包组成,HAP是Ability的部署包,HarmonyOS应用代码围绕Ability组件展开。一个HAP是由代码、资源、第三方库及应用设置文件组成的模块包,可分为entry和feature两种模块类型。
详细内容可以查察官网:
   https://developer.harmonyos.com/cn/docs/documentation/doc-guides/basic-fundamentals-0000000000041611
  一个原子化服务可以有一个或者多个HAP组成,而一个HAP对应1个FA或者1个PA,每个FA或PA均可独立运行,完成1个特定功能;1个或多个功能(对应FA或PA)完成1个特定的便捷服务。

以是HarmonyOS的App安装包的结构表示图如下:

3.2 可分可合思想

根据3.1中HarmonyOS的App安装包的结构可知,一个HarmonyOS安装包可以由恣意需要的一个或者多个HAP组成,这里的组成是可以选择的,可以根据用户需求和硬件装备做合理的选择进行应用组合。
打个比方使用搭载HarmonyOS体系的电视和手机分别可以具有如下的一些功能:

HarmonyOS电视机:

结尾

最后小编想说:岂论以后选择什么方向发展,目前重要的是把Android方面的技能学好,毕竟实在对于程序员来说,要学习的知识内容、技能有太多太多,要想不被环境镌汰就只有不断提升本身,从来都是我们去顺应环境,而不是环境来顺应我们!
当程序员容易,当一个精良的程序员是需要不断学习的,从低级程序员到高级程序员,从低级架构师到资深架构师,或者走向管理,从技能经理到技能总监,每个阶段都需要把握差别的本领。早早确定本身的职业方向,才气在工作和本领提升中甩开同龄人。
想要拿高薪实现技能提升薪水得到质的飞跃。最快捷的方式,就是有人可以带着你一起分析,这样学习起来最为高效,以是为了各人能够顺利进阶中高级、架构师,我专程为各人准备了一套高手学习的源码和框架视频等精品Android架构师教程,包管你学了以后包管薪资上升一个台阶。
当你有了学习线路,学习哪些内容,也知道以后的路怎么走了,理论看多了总要实践的。

高级UI,自定义View
UI这块知识是现今使用者最多的。当年火爆一时的Android入门培训,学会这小块知识就能恣意找到不错的工作了。
不外很显然如今远远不够了,拒绝无休止的CV,亲自去项目实战,读源码,研究原理吧!

   《Android学习笔记总结+移动架构视频+大厂口试真题+项目实战源码》点击传送门,即可获取!
UI这块知识是现今使用者最多的。当年火爆一时的Android入门培训,学会这小块知识就能恣意找到不错的工作了。
  不外很显然如今远远不够了,拒绝无休止的CV,亲自去项目实战,读源码,研究原理吧!
[外链图片转存中…(img-ZWza6iaJ-1715453085549)]
   《Android学习笔记总结+移动架构视频+大厂口试真题+项目实战源码》点击传送门,即可获取!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

悠扬随风

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表