目录
前言
HarmonyOS应用开发入门
一、开发概述
1. HarmonyOS架构
包括:
- 应用层
- 应用框架层
- 系统服务层
- 内核层
如图所示:
2. APP文件结构
包括:
- Entry.hap
- FeatureA.hap
- FeatureB.hap
- FeatureC.hap
如图所示:
~HarmonyOS的应用软件包以APP Pack的形式发布,而它由一个后者多个HAP以及描述每个HAP属性的pack.info组成。一个HAP是由代码、资源、第三方库及应用配置文件组成的模块包,可分为entry和feature两种模块类型。HAP是Ability的部署包,HarmonyOS应用代码围绕ability组件展开。~
entry:是应用的主模块,一个应用有且只有一个entry类型的hap。
feature:动态特性模块,一个应用可以由一个或者多个,实现特定功能。
3.Java工程结构
文件地址 | 说明 |
---|---|
gradle | 配置文件,由系统自动生成,一般情况下不进行更改 |
entry | 默认启动模块(主模块),开发者用于编写源码文件以及开发资源文件的目录。 |
entry>libs | 用于存放entry模块的依赖文件。 |
entry>src>main>Java | 用于存放Java源码。 |
entry>src>main>resources | 存放应用所用到的资源文件,图形多媒体等。 |
entry>src>main>config.json | HAP清单文件。 |
entry>src>test | 编写代码单元测试代码的目录,运行在本地Java虚拟机上。 |
entry>src>main>config.json | HAP清单文件。 |
.gitignore | 标识git版本管理需要忽略的文件。 |
.build | entry模块的编译配置文件。 |
资源目录 | 说明 |
---|---|
base>element | 包括字符串、整型数、颜色、样式等资源的json文件。 |
每个资源都有固定格式: | color.json:颜色 |
boolean,json:布尔型 | |
intarray.json:整型数组 | |
float.json:整型 | |
float.json:样式 | |
float.json:复数形式 | |
float.json:字符串数组 | |
float.json:字符串值 | |
base>graphic | xml类型的可绘制资源,如SVG可缩放矢量图形文件、Shape基本的几何图形等。 |
base>layout | xml格式的界面布局文件 |
base>media | 多媒体文件 |
base>profile | 用于存储任意格式的原始资源文件。 |
rawfile | 用于存储任意格式的原始资源文件。区别在于:rawfile不会根据设备的状态去匹配不同的资源,需要指定文件路径和文件名进行引用 |
4.Ability框架
- Ability是应用的基本组成单元,每个应用含有一个或者多个Ability,能够实现特定的业务功能。可以理解为将复杂的功能进行模块化划分。更容易更新迭代。
- Ability划分为:FA(Feature Ability)和PA(Particle Ability)。
- FA有界面,PA无界面
注:Page Ability 可以由一个或多个AbilitySlice 构成。
5.UI框架
ACE是一个应用开发框架,在OS架构上属于上层框架,目前支持JAVA/JS语言开发;
- JS UI框架采用类HTML和CSS声明式编程语言作为页面布局和页面样式的开发语言,页面业务逻辑支持ECMAScript规范的JavaScript语言。
- JAVA UI是以组件、布局的形式将界面绘制在窗口上。
二、HarmonyOS分布式技术
1.分布式能力
- 首先HarmonyOS采用了软总线的形式,可以让开发者不用关心底层的同i性能协议。实现网络通信的自动连接。
2.分布式数据服务
- 分布式数据提高安全性和便捷性。类似于手机的云同步功能。可以打通手机直接的联系,并且没有主从机概念,每台设备都保存有全部的数据。
3.分布式任务调度
- 支持对跨设备的应用进行远程启动、远程调用、远程连接以及迁移操作。(华为手机的跨任务流转和超级终端~~)
总结
今天就水到这,笔记就写到这~
软件方面我也不太行,还要继续学习~
如果大家觉得还算有用的话
悄悄告诉你们一个催更小技巧
点赞、收藏、关注,可以加速更新嗷!!!