鸿蒙HarmonyOS元服务应用开发实战完全指导
内容提要
元服务概述
元服务开发流程
第一个元服务开发
元服务部署与运行
一、服务概述
1、什么是元服务
在万物互联时代,人均持有设备量不断攀升,设备种类和使用场景更加多样,使得应用开发、应用入口变得更加复杂。在此背景下,应用提供方和用户迫切需要一种新的服务提供方式,使应用开发更简单、服务(如听音乐、打车等)的获取和使用更便捷。
为此,鸿蒙HarmonyOS除支持传统的需要安装的应用(以下简称传统应用)外,还支持更加方便快捷的免安装的应用,即元服务。
元服务是HarmonyOS提供的一种轻量应用程序形态,具备服务直达、跨设备等特征。
元服务可独立上架、分发、运行,独立实现业务闭环,可大幅提升信息与服务的获取效率。
元服务基于HarmonyOS SDK(只能使用“元服务API集”)开发,支持运行在1+8+N设备上,供用户在合适的场景、合适的设备上便捷使用。
元服务与传统应用的对比请见下表:

元服务与传统应用、服务卡片之间的关系:

2、元服务特征及使用场景
元服务区别于传统应用,具备如下特征。
(1)服务直达
元服务支持免安装使用。
服务卡片:支持用户无需打开元服务便可获取服务内重要信息的展示和动态变化,如天气、关键事务备忘、热点新闻列表等。
(2)跨设备
元服务支持运行在1+8+N设备上,如手机、平板、2in1、智慧屏等设备。
支持跨设备分享:用户可分享元服务给好友,好友确认后打开分享的服务。
说明:元服务及卡片只能在本应用实现跳转,不能在不同应用与不同元服务间流转。
二、元服务开发流程

元服务开发主要包括以下环节。
(1)开发前
创建元服务项目前,需要注册华为开发者帐号并创建您的元服务;然后搭建开发环境,通过DevEco Studio创建元服务工程。
说明:元服务包名命名格式需要使用com.atomicservice.[appid],请先在华为网站创建元服务,获取AppID后再创建工程。
在AppGallery Connect上,可以通过“我的元服务”选择对应元服务,在“应用信息”可查询元服务的appid。
开发环境参考本站:华为鸿蒙HarmonyOS开发环境安装与配置完全解析_怎么安装配置鸿蒙环境,以次编译出jar包-CSDN博客
(2)开发中
元服务包含页面和卡片两个部分,请参考UI开发和服务卡片开发。
DevEco Studio提供真机调试能力,开发者可快速通过真机运行调试查看运行效果。
(3)打包
可通过DevEco Studio快速打包生成发布版本,使用此版本,可以用于开放式测试或提交上架审核。
(4)测试
在正式发布元服务前,您可以发布一个开放式测试版本,邀请部分用户提前体验新版本,并收集用户的反馈,以便提前发现问题进行改进,从而保证全网版本的质量,提升用户体验。
(5)上架
当元服务经过全面测试,确保版本没有问题,即可发布正式版本。
三、第一个元服务开发
1、若首次打开DevEco Studio,请选择Create Project开始创建一个新工程。
如果已经打开了一个工程,请在菜单栏选择File > New > Create Project来创建一个新工程。选择Atomic Service元服务开发,选择模板,单击Next进行下一步配置。
当前元服务支持的模板类型:
- Empty Ability:用于Phone、Tablet设备的模板,展示基础的Hello World功能。
- Embeddable Ability:用于开发支持被其他应用嵌入式运行的元服务的工程模板

说 明:
元服务不支持native开发方式,无法选择native工程模板开发元服务。
2、点击Sign In登录华为开发者账号进行开发,或选择访客模式体验。访客模式无需登录华为账号。

说 明:
访客模式仅用于体验元服务开发功能。如需将访客模式下开发的元服务工程或历史元服务工程在真机上运行并安装,需在AppScope > app.json5文件中补充当前开发者账号下已在AppGallery注册且真实存在的包名。
3、在弹出的网页界面中点击允许,完成访问账号授权。

4、选择已登录账号下的APP ID。如您未在AppGallery中注册元服务应用,点击Register APP ID注册新的APP ID。

说 明:
仅元服务应用的APP ID将在当前界面展示。如需新建应用,“是否元服务”选项请勾选“是”,才能创建出元服务应用。
5、完成注册后,回到DevEco Studio界面,点击Refresh,刷新当前APP ID列表,选择新生成的APP ID,点击Next。

6、进入配置工程界面,填写Project name,其他参数保持默认设置即可。

7、单击Finish,工具会自动生成示例代码和相关资源,等待工程创建完成。
元服务工程目录结构如下。

- AppScope > app.json5:元服务的全局配置信息。
- entry:HarmonyOS工程模块,编译构建生成一个HAP。
- src > main > ets:用于存放ArkTS源码。
- src > main > ets > entryability:元服务的入口。
- src > main > ets > pages:元服务包含的页面。
- src > main > resources:用于存放元服务所用到的资源文件,如图形、多媒体、字符串、布局文件等。详见官网资源分类与访问。
- src > main > module.json5:模块配置文件。主要包含HAP的配置信息、元服务在具体设备上的配置信息以及元服务的全局配置信息。具体的配置文件说明,详见module.json5。
- build-profile.json5:当前的模块信息 、编译信息配置项,包括buildOption、targets配置等。
- hvigorfile.ts:模块级编译构建任务脚本,开发者可以自定义相关任务和代码实现。
- oh_modules:用于存放三方库依赖信息。
- build-profile.json5:元服务级配置信息,包括签名signingConfigs、产品配置products等。
- hvigorfile.ts:元服务级编译构建任务脚本。
四、元服务部署与运行
1、打开本地模拟器,并运行当前应用

2、模拟器中界面不显示元服务,在设置->应用和服务->服务管理中可查

3、元服务部署运行
(1)在模拟器上按住Ctrl键,然后在屏幕中间位置向上滑动鼠标,调出底部快捷导航栏找到服务卡片

(2)添加应用服务的元服务卡片到桌面上

点击服务卡片图标快速进入服务程序。
更多精彩内容请关注本站!!!
相关文章:
鸿蒙HarmonyOS元服务应用开发实战完全指导
内容提要 元服务概述 元服务开发流程 第一个元服务开发 元服务部署与运行 一、服务概述 1、什么是元服务 在万物互联时代,人均持有设备量不断攀升,设备种类和使用场景更加多样,使得应用开发、应用入口变得更加复杂。在此背景下&#x…...
CT中的2D、MPR、VR渲染、高级临床功能
CT中的2D、MPR、VR渲染 在CT(计算机断层扫描)中,2D、MPR(多平面重建)、VR(体积渲染)是不同的图像显示和处理技术,它们各自有独特的用途和优势。下面分别介绍这三种技术:…...
利用docker-compose来搭建flink集群
1.前期准备 (1)把docker,docker-compose,kafka集群安装配置好 参考文章: 利用docker搭建kafka集群并且进行相应的实践-CSDN博客 这篇文章里面有另外两篇文章的链接,点进去就能够看到 (2&…...
力扣打卡10:K个一组翻转链表
链接:25. K 个一组翻转链表 - 力扣(LeetCode) 这道题需要在链表上,每k个为一组,翻转,链接。 乍一看好像比较容易,其实有很多细节。比如每一组反转后怎么找到上一组的新尾,怎么找到…...
深度学习详解
深度学习(Deep Learning,DL)是机器学习(Machine Learning,ML)中的一个子领域,利用多层次(深层)神经网络来自动从数据中提取特征和规律,模仿人脑的神经系统来进…...
鸿蒙分享(一):添加模块,修改app名称图标
码仓库:https://gitee.com/linguanzhong/share_harmonyos 鸿蒙api:12 新建公共模块common 在entry的oh-package.json5添加dependencies,引入common模块 "dependencies": {"common": "file:../common" } 修改app名称&…...
【Redis】not support: redis
1、查看redis进程 2、查看是否安装redis扩展,此处以宝塔为例...
【集群划分】含分布式光伏的配电网集群电压控制【33节点】
目录 主要内容 模型研究 1.节点电压灵敏度的计算 2.Kmeans聚类划分 3.集群K值 部分代码 运行结果 下载链接 主要内容 该程序参考文献《含分布式光伏的配电网集群划分和集群电压协调控制》,基于社团检测算法,实现基于电气距离和区域电压调节能…...
嵌入式蓝桥杯学习5 定时中断实现按键
Cubemx配置 打开cubemx。 前面的配置与前文一样,这里主要配置基本定时器的定时功能。 1.在Timer中点击TIM6,勾选activated。配置Parameter Settings中的预分频器(PSC)和计数器(auto-reload Register) 补…...
【Java】类似王者荣耀游戏
r77683962/WangZheYouDianRongYao 运行效果图: 类似王者荣耀游戏运行效果图_哔哩哔哩_bilibili...
C++<基本>:union是没有构造函数和析构函数的
今天发现当我在union中包含了多个结构体时,结构体有默认构造函数时,编译报错。 问题点: union不支持构造函数和析构函数union中的元素本身也是不支持构造函数和析构函数的。包含union的结构体也不支持构造函数和析构函数。 出错代码如下&a…...
SQL中IN和NOT操作符的用法
1. IN操作符(布尔逻辑) 在SQL中,IN 是一个用于检查某个字段值是否包含在给定的多个可能值中的布尔操作符。它经常与条件表达式一起使用,通常出现在WHERE子句中。 用法: IN操作符用来确定某个字段的值是否存在于给定…...
C++平常学习用的
4.1 友元函数 4.2 友元类 5.2 类模板 7.2 虚函数dynamic_cast运算 7.2 纯虚函数和抽象类...
JAVA |日常开发中Servlet详解
JAVA |日常开发中Servlet详解 前言一、Servlet 概述1.1 定义1.2 历史背景 二、Servlet 的生命周期2.1 加载和实例化2.2 初始化(init 方法)2.3 服务(service 方法)2.4 销毁(destroy 方法) 三、Se…...
QT实战--QTreeWidget实现两种行颜色+QListWidget样式
本文主要介绍了QTreeWidget实现两种行颜色、点击打开父节点以及设置父子节点之间距离,同时附带介绍了QListWidget样式 树效果图: 列表效果图: 1.树样式的实现 1)使用代码: m_pLeftTreeWidget = new QTreeWidget(this);m_pLeftTreeWidget->setObjectName("suolue_t…...
RPA在IT运维中的实践:自动化监控与维护
一、引言 1. IT运维面临的挑战与RPA的机遇 在IT运维领域,日常的监控、维护和故障响应等工作占据了大量的时间和资源。随着技术的发展,RPA技术提供了自动化这些重复性任务的可能性,从而释放IT团队的潜力,让他们能够专注于更复杂和…...
C# 设置方法执行超时,则执行下一个方法
最近在开发过程中遇到了一个问题,在进行通讯连接时,如果没有连接的话会延时几十秒,而且还设置不了连接超时时间,于是我就想着有没有一种可以判断这个方法的执行时间超过多少秒,就跳出执行其他方法,经过大量…...
【iOS】UIImagePickerController
【iOS】UIImagePickerController 前言 笔者简单学习了iOS开发如何调用本地的一个相册的内容,下面简单介绍一下相关内容。 介绍 UIImagePickerController是iOS平台上的一个类,用于在应用程序中访问设备的照片库、相机和视频录制功能。它提供了一个用户…...
现代企业营销模式创新:链动 2+1 模式 AI 智能名片商城小程序的应用与价值
摘要:本文旨在探讨现代企业面临的客户环境变化以及相应的营销模式变革需求,重点分析链动 21 模式 AI 智能名片商城小程序在满足现代企业营销沟通即时性、精准性、社会性和方便性要求方面的作用,并阐述其对企业在未来市场竞争中取得胜利的重要…...
springboot+Loki+Loki4j+Grafana搭建轻量级日志系统
文章目录 前言一、日志组件介绍 1.1 Loki组件1.2 Loki4j组件1.3 Grafana 二、组件下载安装运行 Loki下载安装运行Grafana下载安装运行 三、创建springboot项目总结 前言 日志在任何一个web应用中都是不可忽视的存在,它已经成为大部分系统的标准组成部分。搭建日志…...
.Net框架,除了EF还有很多很多......
文章目录 1. 引言2. Dapper2.1 概述与设计原理2.2 核心功能与代码示例基本查询多映射查询存储过程调用 2.3 性能优化原理2.4 适用场景 3. NHibernate3.1 概述与架构设计3.2 映射配置示例Fluent映射XML映射 3.3 查询示例HQL查询Criteria APILINQ提供程序 3.4 高级特性3.5 适用场…...
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility
Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...
工业自动化时代的精准装配革新:迁移科技3D视觉系统如何重塑机器人定位装配
AI3D视觉的工业赋能者 迁移科技成立于2017年,作为行业领先的3D工业相机及视觉系统供应商,累计完成数亿元融资。其核心技术覆盖硬件设计、算法优化及软件集成,通过稳定、易用、高回报的AI3D视觉系统,为汽车、新能源、金属制造等行…...
优选算法第十二讲:队列 + 宽搜 优先级队列
优选算法第十二讲:队列 宽搜 && 优先级队列 1.N叉树的层序遍历2.二叉树的锯齿型层序遍历3.二叉树最大宽度4.在每个树行中找最大值5.优先级队列 -- 最后一块石头的重量6.数据流中的第K大元素7.前K个高频单词8.数据流的中位数 1.N叉树的层序遍历 2.二叉树的锯…...
在Ubuntu24上采用Wine打开SourceInsight
1. 安装wine sudo apt install wine 2. 安装32位库支持,SourceInsight是32位程序 sudo dpkg --add-architecture i386 sudo apt update sudo apt install wine32:i386 3. 验证安装 wine --version 4. 安装必要的字体和库(解决显示问题) sudo apt install fonts-wqy…...
Python Ovito统计金刚石结构数量
大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...
安卓基础(Java 和 Gradle 版本)
1. 设置项目的 JDK 版本 方法1:通过 Project Structure File → Project Structure... (或按 CtrlAltShiftS) 左侧选择 SDK Location 在 Gradle Settings 部分,设置 Gradle JDK 方法2:通过 Settings File → Settings... (或 CtrlAltS)…...
【Elasticsearch】Elasticsearch 在大数据生态圈的地位 实践经验
Elasticsearch 在大数据生态圈的地位 & 实践经验 1.Elasticsearch 的优势1.1 Elasticsearch 解决的核心问题1.1.1 传统方案的短板1.1.2 Elasticsearch 的解决方案 1.2 与大数据组件的对比优势1.3 关键优势技术支撑1.4 Elasticsearch 的竞品1.4.1 全文搜索领域1.4.2 日志分析…...
前端调试HTTP状态码
1xx(信息类状态码) 这类状态码表示临时响应,需要客户端继续处理请求。 100 Continue 服务器已收到请求的初始部分,客户端应继续发送剩余部分。 2xx(成功类状态码) 表示请求已成功被服务器接收、理解并处…...
RushDB开源程序 是现代应用程序和 AI 的即时数据库。建立在 Neo4j 之上
一、软件介绍 文末提供程序和源码下载 RushDB 改变了您处理图形数据的方式 — 不需要 Schema,不需要复杂的查询,只需推送数据即可。 二、Key Features ✨ 主要特点 Instant Setup: Be productive in seconds, not days 即时设置 :在几秒钟…...
