HarmonyOS鸿蒙Next端云一体化SHOW出您的元服务云邮元服务开发分享

HarmonyOS鸿蒙Next端云一体化SHOW出您的元服务云邮元服务开发分享 #端云一体化#SHOW出您的元服务#云邮元服务开发分享

上个月刚刚以《云邮》元服务项目参加完< HarmonyOS >极客马拉松比赛,在这里做个简单的分享

一.开发分享

这次是比赛非同寻常,内容属于华为的机密,我们都是签了保密协议的。随着HarmonyOS 4的发布,对应的保密内容也逐步被官方剧透出来。这里,也简单说说我们用到的服务卡片和元服务开发。

【卡片服务】

服务卡片概述简单的几个步骤就可以轻松实现:

  1. 在工程entry目录层新建widget
  2. 选择一个模板,默认提供3种
  3. 再修改一下卡片的名称和布局(共4种),默认选ArkTS,JS已经不主推了

三个步骤就可以基本完成,在工程里会出现三个文件

最后在module.json5配置文件中的extensionAbilities标签下补充一下信息

卡片服务

build() {
    Row() {
      Column() {
        if (this.mini) {
          Column() {
            Text(this.MINI_TITLE)
              .fontSize($r('app.float.mini_title_font_size'))
              .fontColor($r('app.color.mini_text_font_color'))
              .margin({
                left: $r('app.float.mini_title_margin'),
                bottom: $r('app.float.mini_title_margin')
              })
          }
          .width(this.FULL_WIDTH_PERCENT)
          .alignItems(HorizontalAlign.End)
          .backgroundImageSize(ImageSize.Contain)
          .backgroundImage($r("app.media.ic_post_office"), ImageRepeat.NoRepeat)
          .displayPriority(this.MINI_DISPLAY_PRIORITY)
        }
        Image($r("app.media.ic_post_office"))
          .width(this.FULL_WIDTH_PERCENT)
          .height(this.FULL_HEIGHT_PERCENT)
          .objectFit(ImageFit.Contain)
          .borderRadius($r('app.float.image_border_radius'))
      }
      .width(this.FULL_WIDTH_PERCENT)
      .height(this.FULL_HEIGHT_PERCENT)
      .alignItems(HorizontalAlign.Start)
      .backgroundColor($r('app.color.noColor'))
    }
    .height(this.FULL_HEIGHT_PERCENT)
    .alignItems(VerticalAlign.Top)
    .padding($r('app.float.row_padding'))
    .onClick(() => {
      postCardAction(this, {
        "action": this.ACTION_TYPE,
        "abilityName": this.ABILITY_NAME,
        "params": {
          "targetPage": this.MESSAGE
        }
      });
    })
  }

卡片配置

{
  "name": "SignInwidgetCard",
  "description": "This is a service widget.",
  "src": "./ets/widget/pages/SignInwidgetCard.ets",
  "uiSyntax": "arkts",
  "window": {
    "designWidth": 720,
    "autoDesignWidth": true
  },
  "colorMode": "auto",
  "isDefault": false,
  "updateEnabled": false,
  "scheduledUpdateTime": "10:30",
  "updateDuration": 1,
  "defaultDimension": "2*2",
  "supportDimensions": [
    "2*2"
  ]
}

【元服务】

元服务简介(原为:原子化服务)是HarmonyOS提供的一种面向未来的服务提供方式,是有独立入口、免安装、可为用户提供一个或多个便捷服务的新型应用程序形态。

  • 它是一种新的分发方式,需要新建一个工程,不是普通的App形态,具体文档也和之前的开发文档不在同一地方

几个步骤:

  1. 新建工程,选择Atomic Service
  2. 确认一下工程信息

其实也可以把原App的工程简单修改为元服务,只要把Bundle Type改为atomicService就可以了,其它都不需要改动。

当然,如果要运行真机的话,还要在AppGallery Connect里新建一个元服务的应用,这里就不再赘述了。

相关代码

"app": {
    "bundleName": "com.atomlab.yunyouatomic",
    "bundleType": "atomicService",
    "vendor": "example",
    "versionCode": 1000000,
    "versionName": "1.0.0",
    "icon": "$media:app_icon",
    "label": "$string:app_name"
  }

更多关于HarmonyOS鸿蒙Next端云一体化SHOW出您的元服务云邮元服务开发分享的实战教程也可以访问 https://www.itying.com/category-93-b0.html

1 回复

更多关于HarmonyOS鸿蒙Next端云一体化SHOW出您的元服务云邮元服务开发分享的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS鸿蒙Next端云一体化开发中,元服务(Meta Service)是关键组件之一,支持跨设备、跨应用的协同。

开发云邮元服务时,需遵循以下步骤:

  1. 定义元服务接口:明确服务功能,如邮件收发、状态同步等。

  2. 实现服务逻辑:利用鸿蒙分布式能力,确保服务在设备间无缝流转。

  3. 云服务集成:通过鸿蒙云平台实现数据存储与同步,确保数据一致性。

  4. 调试与优化:利用鸿蒙工具链进行性能调优,确保服务高效稳定。

  5. 发布与展示:通过鸿蒙应用市场发布,展示元服务的创新价值。

回到顶部