一、写给Android开发者之harmony入门

一、创建新项目

对比 android-studio:ability类似安卓activity

ability分为两种类型(Stage模型) UIAbility和Extensionability(提供系统服务和后台任务)

启动模式

1、 singleton启动模式:单例

2、 multiton启动模式:多实例(后台多个任务卡片,类似Android的多进程的效果)

3、 specified启动模式:介于单例和多实例,可以指定实例

二、项目结构

1、多module机制:通常项目有一个或多个module组成

 

2、工程结构

appScope:包含应用信息

app.json5 应用配置文件

xxxlib:静态共享包模块

entry:入口模块

/src/main/ets:存放源码

/src/main/resource: 资源文件 (图片、常量等)

src/main/module.json5: 模块信息配置

build-profile.json5: 构建配置文件包括

签名、模型、目标设备等

hvigorfile.ts:编译构建任务脚本(类似gradle)

oh-package:依赖、版本、证书等配置

hvigor/:编译脚本配置 (类似gradle文件夹)

oh-moudles:下载的依赖库列表

FeatureLogin: feature类型的登陆模块

Sharelibrary:动态共享库

三、打包与安装

1、打hap包:

命令行运 ./hvigorw -p module=xxx assembleHap 或者build(hap)

安装: hdc install ./entry-default-signed.hap

多hap:hdc install ./FeatureLogin-default-signed.hap ./entry-default-signed.hap ./ShareLibrary-default-signed.hsp

多hap快捷安装

多模块安装

2、打包app

命令行运行 ./hvigorw assembleApp或者build(apps)

除了静态共享库以源码的形式打包进依赖方,其他几个库都有相应的hap/hsp包,发布应用市场需要app的形式整体上传,而使用时hap/hsp包需要单独安装

hdc install ./FeatureLogin-default-signed.hap ./entry-default-signed.hap ./ShareLibrary-default-signed.hsp

3、运行

entry包

entry包

feature包

  • 单HAP场景:如果只包含UIAbility组件,无需使用ExtensionAbility组件,优先采用单HAP(即一个entry包)来实现应用开发。虽然一个HAP中可以包含一个或多个UIAbility组件,为了避免不必要的资源加载,推荐采用“一个UIAbility+多个页面”的方式。
  • 多HAP场景:如果应用的功能比较复杂,需要使用ExtensionAbility组件,可以采用多HAP(即一个entry包+多个feature包)来实现应用开发,每个HAP中包含一个UIAbility组件或者一个ExtensionAbility组件。

4、卸载

hdc uninstall [packageName]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/834918.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

25 | MySQL是怎么保证高可用的?

主备延迟 “同步延迟”。与数据同步有关的时间点主要包括以下三个: 主库 A 执行完成一个事务,写入 binlog,我们把这个时刻记为 T1;之后传给备库 B,我们把备库 B 接收完这个 binlog 的时刻记为 T2;备库 B 执行完成这个事务&#…

Pycharm 执行pytest时,会遇见某些case Empty suite

我这边的情况是有些case就是执行不了,百度了很多,有说设置选pytest的,有命名规范的,都没有成功。后面问了同事之后才发现,pytest 的框架,pytest.ini 执行的时候,加了个标签,主动把某…

在uniapp中如何安装axios并解决跨域问题

目录 1、安装axios 2、导入 3、使用(发请求) 2.解决跨域问题 1.为什么要解决跨域问题? 2.前端如何解决跨域问题? 1、安装axios npm install axios 2、导入 在main.js中导入使用 import axios from axios; // 创建一个名…

【SVN-TortoiseSVN】SVN 的简介与TortoiseSVN 安装使用教程

目录 🌞前言 🌊1. SVN 的简介 🌍1.1 SVN是什么 🌍1.2 SVN 工作原理 🌍1.3 TortoiseSVN 术语及定义 🌊2. TortoiseSVN 安装与汉化 🌊3. SVN 基本操作-TortoiseSVN 🌍3.1 浏览…

AI助力制造行业探索创新路径

近期,著名科技作家凯文凯利(K.K.)来到中国,发表了一场演讲,给广大听众带来了深刻的启示。他在演讲中强调了人工智能(AI)对全球经济的重大影响,并提出了AI发展的多个观点: AI的多样性…

gitee 简易使用 上传文件

Wiki - Gitee.com 官方教程 1.gitee 注册帐号 2.下载git 安装 http://git-scm.com/downloads 3. 桌面 鼠标右键 或是开始菜单 open git bash here 输入(复制 ,粘贴) 运行完成后 刷新网页 下方加号即可以添加文件 上传文件 下载 教程…

大型医疗挂号微服务“马上好医”医疗项目(5)Swagger的使用

Swagger的简单介绍 Swagger 是一个 RESTful 接口文档的规范和工具集,它的目标是统一 RESTful 接口文档的格式和规范。在开发过程中,接口文档是非常重要的一环,它不仅方便开发者查看和理解接口的功能和参数,还能帮助前后端开发协同…

记录Postgresql 报错 the database system is in recovery mode

在开发环境中,突然有一天来到公司启动项目的时候报错 看到这个报错肯定是数据库出啥问题了,我们的数据库是部署在docker里面的。 远程服务器之后,使用命令查看容器,发现数据库容器还是启动着的 docker ps 那就进去容器内部看看…

推荐几款国内的AI写作工具,好用免费还能在线生成AI文案

AI写作简介: 在专业领域中,人工智能技术的进步正以前所未有的速度推动着写作行业的革新。当前,我们见证了生成式人工智能(AI)在文本产生领域的广泛应用,其对提升创作效率和拓展创意边界的贡献是显著的。以…

python 获取最大值对应的字典

造数据 s AABBBCCCDDDDDDDDEEEFGGHHHHIJKLMMM dict_s {k:s.count(k) for k in s} print(dict_s)--->{A: 2, B: 3, C: 3, D: 8, E: 3, F: 1, G: 2, H: 4, I: 1, J: 1, K: 1, L: 1, M: 3} 一、获取最大值对应的字典方法一,使用zip()函数与max函数结合 zip(dict…

10秒以上无错误!猫态量子比特稳定性达到新水平

内容来源:量子前哨(ID:Qforepost) 文丨 浪味仙 排版丨沛贤 深度好文:1200字丨5分钟阅读 摘要:与涉及超导电路的其他量子比特设计相比,使用猫态量子比特可能会“将用于纠错的量子比特数量减少到…

国外子公司与国内母公司数据文件传输解决方案

在全球化商业运作中,企业常常面临一项关键挑战,即如何实现快速、安全的跨国文件交换。尽管传统的跨国文件传输手段在某些方面带来了便捷,但在处理大型文件时却暴露出其局限性。小编将带大家来分析这些传统方法的不足,并展示镭速为…

5.9学习计划

生成Grove地区osgb筛选IceSat2数据比对GPS数据 leetcode复习5.8 finleetcode新做4道fin数据链路层到2.4复习物理层,看小节 JVM面试题看完 数据链路层以帧为单位传输和处理数据 GCS_WGS_1984 和 WGS_1984_UTM Zone 43S 是两种不同的坐标参考系统(CRS&…

Python专题:十、字典(1)

数据类型:字典,是一个集合性质的数据类型 字典的初始化 字典{关键字:数值} 新增元素 修改元素 字典元素访问 字典[关键字} in 操作符 字典关键字检测 字典元素遍历 ①遍历关键字

CSS元素的显示与可见性(详解Display和Visibility的用法)

目录 一、介绍 1.Display: 1.1.概念: 1.2.特点: 1.3.用法: 1.4.应用: 1.5.功能: 2.Visibility: 2.1.概念: 2.2.特点: 2.3.用法: 2.4.应用: 2.5.功能: 总结: 二、使用 1.隐藏元素- display:none或visibility:hidden 2.Display - 块和内联元素 3.如何…

JavaWeb--13Mybatis(2)

Mybatis(2) 1 Mybatis基础操作1.1 需求和准备工作1.2 删除员工日志输入参数占位符 1.3 新增员工1.4 修改员工信息1.5 查询员工1.5.1 根据ID查询数据封装 1.5.3 条件查询 2 XML配置文件规范3 MyBatis动态SQL3.1 什么是动态SQL3.2 动态SQL-if更新员工 3.3 …

Disk Doctor for Mac 免激活版:数据安全守卫者

数据丢失是每个人都可能遇到的问题,但Disk Doctor for Mac能让这个问题迎刃而解。这款强大的数据恢复软件,能迅速找回因各种原因丢失的数据。 Disk Doctor采用先进的扫描技术,能深入剖析磁盘,找到并恢复被删除或损坏的文件。同时&…

如何快速实现Java发送邮件功能?

如何使用JAVA发送邮件&#xff1f;&#xff08;不做过多文字解释&#xff0c;详细说明请看代码注释&#xff09; 一&#xff0c;引用相关pom二&#xff0c;实现代码&#xff08;代码参考图片内容&#xff09;三&#xff0c; 接收邮件 一&#xff0c;引用相关pom <dependency…

三级综合医院微信预约挂号系统源码,PC后台管理端+微信公众号+支付宝小程序全套源码

智慧医院预约挂号系统&#xff0c;微信医疗预约挂号小程序源码&#xff0c;实体医院预约挂号支付系统源码 本系统主要面向中大型的医疗机构&#xff0c;适用于各级公立和民营医院&#xff0c;可对接院内his、lis、pacs系统。 PC后台管理端微信公众号支付宝小程序 系统支持当日…

建发弘爱 X 袋鼠云:加速提升精细化、数字化医疗健康服务能力

厦门建发弘爱医疗集团有限公司&#xff08;简称“建发弘爱”&#xff09;创立于2022年&#xff0c;是厦门建发医疗健康投资有限公司的全资子公司&#xff0c;专业从事医疗健康领域的医疗服务。 建发弘爱通过医疗、健康及产业服务三大板块&#xff0c;为百姓提供医疗和健康全生…