=================

应用程序泛指运行在操作系统之上,为用户提供特定服务的程序,简称——“应用(Application)”,一般运行在手机和平板电脑上!

HarmonyOS的运行状态有两种:

  • 传统的需要安装的应用

  • HarmonyOS特定的,免安装的原子化服务

官网关于原子化服务的介绍如下:

原子化服务是HarmonyOS提供的一种面向未来的服务提供方式,是有独立入口的(用户可通过点击方式直接触发)、免安装的(无需显式安装,由系统程序框架后台安装后即可使用)、可为用户提供一个或多个便捷服务的用户应用程序形态。

原子化服务基于HarmonyOS API开发,支持运行在1+8+N设备上,供用户在合适的场景、合适的设备上便捷使用。原子化服务相对于传统方式的需要安装的应用形态更加轻量,同时提供更丰富的入口、更精准的分发。

原子化服务由1个或多个HAP包组成,1个HAP包对应1个FA或1个PA。每个FA或PA均可独立运行,完成1个特定功能;1个或多个功能(对应FA或PA)完成1个特定的便捷服务。

原子化服务与传统方式的需要安装的应用对比:

| 项目 | 原子化服务 | 传统方式的需要安装的应用 |

| — | — | — |

| 软件包形态 | APP Pack(.app) | APP Pack(.app) |

| 分发平台 | 由原子化服务平台(Huawei Ability Gallery)管理和分发 | 由应用市场(AppGallery)管理和分发 |

| 安装后有无桌面icon | 无桌面icon,但可手动添加到桌面,显示形式为服务卡片 | 有桌面icon |

| HAP包免安装要求 | 所有HAP包(包括Entry HAP和Feature HAP)均需满足免安装要求 | 所有HAP包(包括Entry HAP和Feature HAP)均为非免安装的 |

二、用户应用程序包结构

===========

2.1 结构示意图


HarmonyOS的用户应用程序包以APP Pack(Application Package)形式发布,它是由一个或多个HAP(HarmonyOS Ability Package)以及描述每个HAP属性的pack.info组成。HAP是Ability的部署包,HarmonyOS应用代码围绕Ability组件展开。

如下展示一个HelloWord基础鸿蒙应用程序结构:

image.png

2.2 HAP模块类型


一个HAP由代码、资源、第三方库及应用配置文件组成,分为entry和feature两种模块类型!

**entry:**应用主模块。一个App中,对于统一设备类型必须有且只有一个entry类型的HAP,可独立安装运行。

image.png

**feature:**应用的动态特性模块。一个App中可以包含一个或多个feature类型的HAP,也可以不包含。只有包含Ability的HAP才能够独立运行(意思是不包含Abilitu的feature模块无法独立运行)。

APP逻辑视图:

APP逻辑视图.png

2.3 模块介绍


2.3.1 Ability

Ability是应用所具备的能力的抽象,一个应用可以包含一个或多个Ability。Ability分为两种类型

  • FA(Feature Ability)

  • PA(Paticle Ability)

FA/PA是应用的基本组成单元,能够实现特定的业务功能。FA有UI界面,PA无UI界面。

2.3.2 库文件

应用依赖的第三方代码(jar、bin、so、har等二进制文件),存放在libs目录

image.png

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip204888 (备注Android)
img

最后

Android学习是一条漫长的道路,我们要学习的东西不仅仅只有表面的 技术,还要深入底层,弄明白下面的 原理,只有这样,我们才能够提高自己的竞争力,在当今这个竞争激烈的世界里立足。

人生不可能一帆风顺,有高峰自然有低谷,要相信,那些打不倒我们的,终将使我们更强大,要做自己的摆渡人。

资源持续更新中,欢迎大家一起学习和探讨。

本文已被CODING开源项目:《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》收录

一个人可以走的很快,但一群人才能走的更远。如果你从事以下工作或对以下感兴趣,欢迎戳这里加入程序员的圈子,让我们一起学习成长!

AI人工智能、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算

、Android移动开发、AIGC大模型、C C#、Go语言、Java、Linux运维、云计算、MySQL、PMP、网络安全、Python爬虫、UE5、UI设计、Unity3D、Web前端开发、产品经理、车载开发、大数据、鸿蒙、计算机网络、嵌入式物联网、软件测试、数据结构与算法、音视频开发、Flutter、IOS开发、PHP开发、.NET、安卓逆向、云计算**

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐