鸿蒙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应用中都是不可忽视的存在,它已经成为大部分系统的标准组成部分。搭建日志…...
安宝特方案丨XRSOP人员作业标准化管理平台:AR智慧点检验收套件
在选煤厂、化工厂、钢铁厂等过程生产型企业,其生产设备的运行效率和非计划停机对工业制造效益有较大影响。 随着企业自动化和智能化建设的推进,需提前预防假检、错检、漏检,推动智慧生产运维系统数据的流动和现场赋能应用。同时,…...
srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
【JavaSE】绘图与事件入门学习笔记
-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角,以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向,距离坐标原点x个像素;第二个是y坐标,表示当前位置为垂直方向,距离坐标原点y个像素。 坐标体系-像素 …...
【HTTP三个基础问题】
面试官您好!HTTP是超文本传输协议,是互联网上客户端和服务器之间传输超文本数据(比如文字、图片、音频、视频等)的核心协议,当前互联网应用最广泛的版本是HTTP1.1,它基于经典的C/S模型,也就是客…...
【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...
mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包
文章目录 现象:mysql已经安装,但是通过rpm -q 没有找mysql相关的已安装包遇到 rpm 命令找不到已经安装的 MySQL 包时,可能是因为以下几个原因:1.MySQL 不是通过 RPM 包安装的2.RPM 数据库损坏3.使用了不同的包名或路径4.使用其他包…...
AI,如何重构理解、匹配与决策?
AI 时代,我们如何理解消费? 作者|王彬 封面|Unplash 人们通过信息理解世界。 曾几何时,PC 与移动互联网重塑了人们的购物路径:信息变得唾手可得,商品决策变得高度依赖内容。 但 AI 时代的来…...
BLEU评分:机器翻译质量评估的黄金标准
BLEU评分:机器翻译质量评估的黄金标准 1. 引言 在自然语言处理(NLP)领域,衡量一个机器翻译模型的性能至关重要。BLEU (Bilingual Evaluation Understudy) 作为一种自动化评估指标,自2002年由IBM的Kishore Papineni等人提出以来,…...
认识CMake并使用CMake构建自己的第一个项目
1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...
嵌入式学习之系统编程(九)OSI模型、TCP/IP模型、UDP协议网络相关编程(6.3)
目录 一、网络编程--OSI模型 二、网络编程--TCP/IP模型 三、网络接口 四、UDP网络相关编程及主要函数 编辑编辑 UDP的特征 socke函数 bind函数 recvfrom函数(接收函数) sendto函数(发送函数) 五、网络编程之 UDP 用…...
