鸿蒙原生开发手记:01-元服务开发

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
性能测试 PTS,5000VUM额度
简介: 元服务是鸿蒙系统中的一种轻量级应用形态,无需下载即可直接运行,类似于微信小程序但更轻量。使用原生开发,性能和体验更优。创建元服务需使用 DevEco 工具,支持深色模式和服务卡片功能,开发测试和上架流程详见相关文档。

简介

元服务是鸿蒙中的一种轻量应用形态,无需下载,直接运行。类似于微信小程序,但与小程序不同的是,元服务更加轻量。

元服务使用原生开发,是系统级提供的,无论从易用性、性能、体验上,都要比小程序好。

创建元服务

使用 DevEco,点击 Create, 左侧模板选择 Atomic Service,右侧模板选择 Empty Ability。根据提示依次点击下一步。

image.png

图标生成

图标设计好以后,可以使用 DevEco 自带的生成工具,生成符合元服务规范的图标。在 src/main/resources/media 目录处,右键 New->Image Asset

image.png

将会弹出制作对话框,选择设计好的图标,勾选主颜色,则可以生成元服务的图标。

编写页面

打开 src/main/ets/pages/index.ets 页面,写法与应用的 ArkUI 一致,在此处开始编写页面代码。

API限制

需要注意的时,部分 API 在元服务中无法使用,在 HarmonOS 文档里面,打开 API参考,可以在左侧勾选 筛选元服务API集, 就可以看到哪些 API 可能在元服务中使用。

权限限制

元服务中存在更多的权限限制, 在 API 文档中,支持元服务使用的权限会在元服务API处注册。

[受限开放权限]

深色模式

src/main/resources 目录下,新建一个 dark目录,在 resouces 目录处右键,选择 Resource Directory, 在对话框中左侧选择 Color Mode,
然后点击 OK

image.png

在便携代码时,通过行如 $r('app.color.primary_button_color')的方式引用颜色变量,则会在深色模式时,引用 resources/dart/element/color.json 文件中,查找对应的颜色变量。对于其他资产,如图片,也是同样的使用方法。

image.png

服务卡片

元服务可以添加服务卡片,详细介绍见《鸿蒙原生开发手记:02-服务卡片开发》

开发测试

在 DevEco 点击运行,设备上可以从负一屏上方的“搜索”按钮,点击进入我的元服务列表,在最近里面可以看到刚安装的元服务。

上架

详细介绍见 《鸿蒙Flutter实战:13-鸿蒙应用打包上架流程》,先添加应用项目,再添加元服务。

注意事项

  1. 导航栏处点击失效问题。
    在使用 RelativeContainer 时发现,按钮如果处在顶部与元服务右侧按钮同一行的位置区域时,点击事件不触发,此时不使用 RelativeContainer 组件,改用其他,如 Column

参考资料

  • [元服务开发指南]
  • [ArkTS API参考]
  • [权限说明]
目录
相关文章
|
10天前
|
小程序 测试技术 API
鸿蒙原生开发手记:03-元服务开发全流程(开发元服务,只需要看这一篇文章)
本文详细介绍元服务的开发及上架全流程,涵盖元服务的特点、创建项目、服务卡片、签名打包、开发测试及上架审核等环节,帮助开发者轻松掌握从零开始开发并发布元服务的全过程。元服务以其轻量、免安装、易于使用等特点,成为未来服务提供的重要形式。
46 13
鸿蒙原生开发手记:03-元服务开发全流程(开发元服务,只需要看这一篇文章)
|
19天前
鸿蒙原生开发手记:02-服务卡片开发
服务卡片是桌面小组件,分为静态和动态两类。本文介绍如何在 DevEco 中创建静态服务卡片,并实现点击事件传参和参数接收。创建时需选择支持的卡片大小,使用 FormLink 实现跳转,参数在 `entryability` 的生命周期方法中接收。注意:服务卡片不支持热重载。
28 0
鸿蒙原生开发手记:02-服务卡片开发
|
27天前
|
缓存 前端开发 API
鸿蒙应用开发:下载功能
鸿蒙应用开发:下载功能
98 1
|
1月前
|
安全 测试技术 数据安全/隐私保护
原生鸿蒙的竞争力到底如何?
长期以来,移动操作系统市场被IOS和安卓所垄断,一直都难以推出完整的自主系统,面临诸多挑战,如推广困难、应用适配难度大,以及技术底座缺乏自主性。但原生鸿蒙操作系统展示其在突破这些瓶颈方面的努力,基于安全牢固的“鸿蒙内核”,上层应用的开发与创新得以实现,不再被卡脖子,更不牵制于外界。本身该系统在OS内核、框架、数据库等方面进行全面自研,实现真正的自主可控。
|
2月前
|
数据可视化 JavaScript API
HarmonyOS NEXT原生重榜发布-安利一款鸿蒙可视化代码生成器
鸿蒙低代码可视化开发平台是基于华为鸿蒙操作系统构建的创新开发环境,旨在通过简化开发流程、降低技术门槛,加速应用从设计到上线的全过程。它融合了低代码开发的核心理念与鸿蒙系统的技术优势,为开发者提供了一条高效、便捷的应用开发之路。
56 2
|
6月前
|
小程序 前端开发 定位技术
简单快速搭建出适配于多平台的小程序
随着移动互联网的深入发展,小程序以其轻量、便捷、即用即走的特点,逐渐成为企业与用户沟通的重要桥梁。在当今数字化时代,随着各大平台纷纷推出小程序,小程序已成为企业与用户交互的重要工具,跨平台开发更是成为开发者们关注的焦点。作为开发者来说,为了满足不同用户的需求,我们需要能够快速搭建出适配于多平台的小程序,那么本文就来聊一聊小程序的优势、如何实现一站式开发多平台的小程序,以及对于小程序功能模块集成能力的期望。
155 1
简单快速搭建出适配于多平台的小程序
|
移动开发 小程序 安全
原生小程序Donut多端开发
随着移动应用开发的不断发展,跨平台开发成为了一个备受关注的话题。开发人员希望能够使用一套代码库,同时支持多个平台,从而提高开发效率并覆盖更广泛的用户群体。在小程序领域,微信 Donut 多端(也称为原生小程序 Donut 多端)为开发人员提供了一种全新的跨平台开发方式。本文将介绍 Donut 多端的概念、特点以及如何开始使用它来开发跨平台小程序。
255 0
|
7月前
|
安全 前端开发 JavaScript
JAVA原生交易所系统开发正式版丨原生交易所系统开发指南教程/源码项目
确定项目需求:明确交易所系统的功能需求,包括支持的交易对、交易类型、用户操作流程、安全性需求等。
|
存储 API
构建跨平台应用的利器——UniApp入门级开发指南
构建跨平台应用的利器——UniApp入门级开发指南
|
7月前
|
移动开发 前端开发 JavaScript
原生求生记:揭秘UniApp的原生能力限制
原生求生记:揭秘UniApp的原生能力限制