纯血鸿蒙HarmonyOS NEXT原生开发之旅_杨春鹏_AZW3_MOBI_EPUB_PDF_电子书(无页码)_杨春鹏

内容节选

第5章 一次开发多端部署 HarmonyOS NEXT的“一多”开发,即“一套代码工程,一次开发上架,多端按需部署”,旨在帮助开发者高效地开发出能够适配多种终端设备的应用。这种设计不仅确保了应用在不同设备上的兼容性,还提供了跨设备间的流转、迁移和协同功能,从而能够打造出无缝衔接的分布式用户体验。 本章将从创建“一多”工程开始,介绍“一多”开发的具体流程和方法,并演示如何编写一个通用的标签页,以实现跨设备的一致性体验。 5.1 “一多”开发工程目录管理 本节将介绍如何创建“一多”工程,读者可从中了解其项目结构。 5.1.1 创建工程 “一多”工程的创建和正常项目的创建方式一样,具体可参考第1章的DevEco Studio基本工程目录,如图5-1所示。 图5-1 DevEco Studio基本工程目录 5.1.2 新建Module 接下来开始创建“一多”开发所需要的模块包。目标是新建3个ohpm模块,并分别命名为common、feature1、feature2。 “一多”推荐在应用开发过程中使用如下的“三层工程结构”: ·common(公共能力层):用于存放公共基础能力集合(如工具库、公共配置等)。common层可编译成一个或多个HAR包或HSP包(HAR中的代码和资源跟随使用方编译,如果有多个使用方,它们的编译产物中会存在多份相同副本;而HSP中的代码和资源可以独立编译,运行时在一个进程中代码只会存在一份),它只可以被products和features依赖,不可以反向依赖。 ·features(基础特性层):用于存放基础特性集合(如应用中相对独立的各个功能的UI及业务逻辑实现等)。各个feature高内聚、低耦合、可定制,供产品灵活部署。不需要单独部署的feature通常编译为HAR包或HSP包,供products或其他feature使用,但是不能反向依赖products层。需要单独部署的feature通常编译为Feature类型的HAP包,和products下Entry类型的HAP包组合部署。features层可以横向调用及依赖common层。 ·products(产品定制层):用于针对不同设备形态进行功能和特性集成。products层各个子目录各自编译为一个Entry类型的HAP包,作为应用主入口。products层不可以横向调用。 代码工程结构抽象后一般如下所示。 具体的创建步骤如下: 01 在根目录上右击,在弹出的快捷菜单中选择“新建”→“模块”命令,如图5-2所示。 图5-2 新建模块 02 在New Project Module对话框中选择Static Library模块,如图5-3所示。 图5-3 选择Static Library模块 03 重新定义模块名称,这里设置为“Common”,如图5-4所示。 图5-4 重新定义Module name 04 参考01到03,再创建feature1、feature2两个模块,创建完成后的项目结构如图5-5所示。 图5-5 项目结构 5.1.3 修改Module配置 为了完善项目结构,一般在创建完模块后会对整个项目进行相应的修改,具体修改如下。 1. 修改Module名称 修改创建工程时默认的entry模块名称。在该模块上右击,在弹出的快捷菜单上依次选择“重构”→“重命名”命令,将模块名称修改为default,如图5-6所示。 图5-6 重命名模块 注意 重命名的是模块名而不是目录名。 2. 修改Module类型及其设备类型 通过修改每个模块中的配置文件(module.json5)对模块进行配置。module.json5配置文件包含以下标签: 1)name 含 义:标识当前Module的名称,确保该名称在整个应用中唯一。取值为长度不超过31字节的字符串,不支持中文。应用升级时允许修改该名称,但需要应用适配Module相关数据目录的迁移,详见文件管理接口。 数据类型:字符串。 是否可省略:该标签不可省略。 2)type 含 义:标识当前Module的类型。支持的取值如下: ·entry:应用的主模块。 ·feature:应用的动态特性模块。 ·har:静态共享包模块。 ·shared:动态共享包模块。 数据类型:字符串。 是否可省略:该标签不可省略。 3)srcEntry 含 义:标识当前Module所对应的代码路径,取值为长度不超过127字节的字符串。 数据类型:字符串。 是否可省略:该标签可省略,默认值为空。 4)description 含 义:标识当前Module的描述信息,取值为长度不超过255字节的字符串,可以采用字符串资源索引格式。 数据类型:字符串。 是否可省略:该标签可省略,默认值为空。 5)process 含 义:标识当前Module的进程名,取值为长度不超过......

  1. 信息
  2. 作者简介
  3. 内容简介
  4. 前言
  5. 第1章 初识鸿蒙HarmonyOS NEXT
  6. 第2章 Ability开发
  7. 第3章 UI开发基础
  8. 第4章 UI开发进阶
  9. 第5章 一次开发多端部署
  10. 第6章 多媒体应用开发
  11. 第7章 进程通信
  12. 第8章 窗口管理
  13. 第9章 网络编程
  14. 第10章 安全管理
  15. 第11章 服务卡片开发
  16. 第12章 项目实战:多端部署之购物应用
  17. 附录A ArkTS语言基础