鸿蒙HarmonyOS应用开发 | 「鸿蒙技术分享」HarmonyOS NEXT元服务卡片实战体验

简介: HarmonyOS NEXT的发布对华为及整个行业都产生了深远的影响。它不仅展示了华为的技术实力,还敏锐地把握了市场需求。同时,吸引了更多的开发者和合作伙伴加入鸿蒙生态体系,共同推动鸿蒙生态的繁荣发展。

「鸿蒙技术分享」—HarmonyOS NEXT 元服务卡片实战体验

HarmonyOS NEXT 是华为鸿蒙系统的最新版本,带来了更为流畅、高效的体验,并以元服务卡片(Service Widget)为核心,优化了服务分发和交互体验。本文将从开发者的角度,分享如何开发和部署元服务卡片,并结合代码实例,带你体验全新的卡片开发流程。

image-20241129003439910

核心特点

  1. 自主可控:HarmonyOS NEXT实现了操作系统的自主可控,为用户提供了更加安全、可靠的操作环境。
  2. 安装包小:通过对系统架构的深度优化,HarmonyOS NEXT实现了安装包体积的显著缩小,使得系统更加轻量、易于安装。
  3. 运行速度快:系统运行速度得到了显著提升,为用户提供了更加流畅的操作体验。
  4. 系统简洁精致:HarmonyOS NEXT的界面设计简洁精致,动效符合直觉,提升了用户的整体操作体验。
  5. 强大互联能力:支持多种终端设备,包括手机、平板、智能电视、智能穿戴、车载系统等,实现了一次开发、多端部署,降低了开发成本。
  6. 新安全访问机制:采用多层安全防护机制,为用户提供金融级安全防护,确保用户隐私和数据安全。

技术创新

  1. 分布式架构:HarmonyOS NEXT采用分布式技术,将各个设备连接成一个超级终端,实现设备间的无缝协同、资源共享。
  2. 全场景智慧体验:为用户提供全方位、个性化的智慧服务,覆盖娱乐、办公、出行等场景,让生活更便捷。
  3. ArkUI框架:推出了新一代的UI框架ArkUI,支持多种编程语言,简化了界面开发过程,提升了应用性能。
  4. ArkCompiler编译器:实现了跨语言的高效编译,提高了应用运行速度。
  5. 分布式数据库:实现数据在多个设备间的无缝同步,为用户提供一致的数据体验。
  6. 智能AI:内置AI能力,为用户提供智能语音助手、视觉识别等创新功能。

什么是元服务卡片?

元服务卡片是鸿蒙系统(HarmonyOS)中元服务的一种主要呈现形态

  • 定义:元服务卡片是基于HarmonyOS API开发的一种新型应用程序形态,它作为元服务的界面展示形式,将应用的重要信息或操作前置到卡片上,以实现服务直达、减少体验层级的目的。
  • 背景:元服务(原名原子化服务)是HarmonyOS提供的一种面向未来的服务提供方式,具有独立入口、免安装、可为用户提供一个或多个服务的特点。

image-20241129003424630

元服务卡片是 HarmonyOS NEXT 引入的新一代服务交互方式,用户可以通过桌面直接与应用核心功能交互,而无需进入应用。
元服务卡片具有以下特点:

  • 动态化:支持实时数据更新。
  • 多样化:提供多种卡片模板,适应不同场景。
  • 轻量化:小体积、高性能。

image-20241129003617299

开发流程与工具

  • 开发框架:方舟开发框架(ArkUI)是一套构建HarmonyOS应用及服务界面的UI开发框架。它提供了极简的UI语法、丰富的UI组件以及实时界面预览工具,帮助开发者提升开发效率。
  • 开发流程:开发者首先需要创建工程并关联云开发资源,然后使用ArkUI框架进行界面开发。在开发过程中,可以利用DevEco Studio提供的各种工具进行调试和测试。最后,将开发完成的元服务卡片进行打包并提交到AppGallery Connect进行上架分发。

综上所述,元服务卡片是鸿蒙系统中一种重要的服务呈现形态,它为用户提供了更加便捷、高效的服务体验。同时,也为开发者提供了新的开发和推广机会。


实战体验:开发一个服务卡片案例

image-20241129004429321

环境准备

在开始开发之前,请确保你已完成以下准备工作:

  1. 开发工具:安装 HarmonyOS DevEco Studio 最新版本。
  2. 设备环境:一台支持 HarmonyOS NEXT 的开发板或模拟器。
  3. 开发语言:本次示例使用ArkTS。

image-20241129003655147

项目初始化

创建工程
在 DevEco Studio 中,选择 New HarmonyOS Project,创建一个 Empty Feature Ability 项目。

image-20241129004016946

配置元服务卡片
config.json 文件中,添加卡片描述信息:

"widgets": [
    {
   
        "type": "form",
        "name": "WeatherCard",
        "ability": "com.example.weather.MainAbility",
        "description": "A simple weather card",
        "formConfig": {
   
            "dimension": "2x2"
        }
    }
]

卡片界面设计

接下来,我们使用 ArkTS 语言来设计卡片的界面。在 pages/index.ets 文件中,添加以下代码:

import {
    WeatherCardData } from '../model/WeatherCardData';

@Entry
@Component
struct WeatherCard {
   
  private data: WeatherCardData = new WeatherCardData();

  build() {
   
    Column() {
   
      Text(this.data.temperature).fontSize(20)
      Text(this.data.condition).fontSize(16)
    }
  }
}

这里我们创建了一个名为 WeatherCard 的组件,它展示了天气的温度和状况。

数据更新

为了实现卡片的动态化,我们需要定期更新卡片上的数据。可以使用定时器来实现数据的更新。在 pages/index.ets 文件中,添加以下代码:

import {
    WeatherCardData } from '../model/WeatherCardData';

@Entry
@Component
struct WeatherCard {
   
  private data: WeatherCardData = new WeatherCardData();
  private timer: number = -1;

  onShow() {
   
    this.timer = setInterval(() => {
   
      this.data.updateData();
    }, 60000);
  }

  onHide() {
   
    if (this.timer!== -1) {
   
      clearInterval(this.timer);
      this.timer = -1;
    }
  }

  build() {
   
    Column() {
   
      Text(this.data.temperature).fontSize(20)
      Text(this.data.condition).fontSize(16)
    }
  }
}

onShow 方法中,我们启动了一个定时器,每隔一分钟更新一次数据。在 onHide 方法中,我们清除定时器,以避免资源浪费。

数据模型

image.png

创建一个数据模型类来存储天气数据。在 model/WeatherCardData.ets 文件中,添加以下代码:

class WeatherCardData {
   
  temperature: string = 'Unknown';
  condition: string = 'Unknown';

  updateData() {
   
    // 这里可以通过网络请求或其他方式获取天气数据
    this.temperature = '25°C';
    this.condition = 'Sunny';
  }
}

部署与调试

  1. 构建项目
    在 DevEco Studio 中点击 Build > Build Project,确保项目无误。
  2. 部署到设备
    连接开发板或模拟器,点击 Run,选择运行目标设备。
  3. 调试卡片
    通过日志查看数据绑定是否正常,并检查卡片界面的更新情况。

优化与总结

体验优化

  • 动态更新:实现天气实时刷新功能,可以设置定时任务或订阅模式。
  • 视觉优化:使用动画和渐变背景提升视觉效果。
  • 多维适配:支持不同尺寸的卡片布局。

实践感受

开发元服务卡片的过程相对直观,DSL 描述语言简洁清晰,逻辑层支持多种编程语言,使得开发效率得到了明显提升。

实战感受

在开发 HarmonyOS NEXT 元服务卡片的过程中,整体体验非常直观且高效,主要有以下几点感受:

  1. 开发流程流畅
    借助 DevEco Studio 和 ArkUI 框架,从工程创建到卡片界面开发再到数据更新的实现,流程清晰,工具完善,大大降低了开发门槛。
  2. 语言简洁灵活
    ArkTS 的 DSL 描述语言直观易懂,结合框架提供的组件库和丰富的 API,使得界面逻辑分离明确,开发者能够专注于功能的实现。
  3. 动态化支持强大
    在开发过程中,通过设置定时器或订阅模式,可以轻松实现实时数据更新和动态化效果,满足多样化的业务需求。
  4. 调试工具便捷
    借助 DevEco Studio 内置的实时预览和设备模拟功能,可以快速发现问题并验证解决方案,显著提高了调试效率。
  5. 优化空间丰富
    在体验过程中,发现元服务卡片的界面设计还可以通过添加动画、背景渐变等视觉优化进一步提升用户体验。同时,支持多尺寸布局适配的能力为复杂场景开发提供了更多可能性。

总体而言,开发元服务卡片的过程兼具技术挑战与创作乐趣。借助 HarmonyOS 提供的开发工具和框架,可以快速构建高效、轻量的卡片服务,为用户带来更便捷的交互体验,也为开发者开辟了更广阔的创新空间。

总结

本文围绕 HarmonyOS NEXT 的核心功能 元服务卡片 展开,全面介绍了其定义、特点及开发流程,并通过一个天气卡片的开发案例,详细展示了从环境搭建到卡片部署的全过程。

元服务卡片以其动态化、轻量化和高效交互的特点,重新定义了用户与应用的交互方式,为开发者提供了更直观、便捷的开发体验。在实战开发中,借助 ArkUI 框架,开发者可以通过简洁的语法和丰富的组件快速实现功能并提升用户体验。

随着鸿蒙生态的不断扩展,元服务卡片将进一步支持更多交互形式和跨设备场景,为用户带来更丰富的服务触达体验,也为开发者创造新的机遇和价值。

HarmonyOS NEXT的发布对华为及整个行业都产生了深远的影响。它不仅展示了华为的技术实力,还敏锐地把握了市场需求。同时,吸引了更多的开发者和合作伙伴加入鸿蒙生态体系,共同推动鸿蒙生态的繁荣发展。

相关文章
|
7天前
|
人工智能 搜索推荐 数据挖掘
原生鸿蒙版小艺APP接入DeepSeek-R1,为HarmonyOS应用开发注入新活力
原生鸿蒙版小艺APP成功接入DeepSeek-R1,为HarmonyOS用户带来更智能高效的交互体验。通过此次升级,用户在编程、学习和工作中的问题可迅速获得专业解答。同时,此举为HarmonyOS应用开发者提供了新的技术参考,激发了更多创新应用场景的开发,助力打造差异化竞争优势,推动HarmonyOS生态繁荣发展。
132 68
原生鸿蒙版小艺APP接入DeepSeek-R1,为HarmonyOS应用开发注入新活力
|
1月前
|
数据安全/隐私保护 开发者 计算机视觉
《鸿蒙 HarmonyOS 应用开发从入门到精通(第 2 版)》学习笔记 ——HarmonyOS 环境搭建之注册华为开发者联盟帐号
要进行HarmonyOS应用开发,首先需要注册华为开发者联盟帐号并完成实名认证。注册时可选择成为个人或企业开发者,两者享有不同权益。个人开发者需准备手机号/邮箱、身份证扫描件及银行卡号等资料,通过审核后即可享受应用市场、主题、商品管理等多项服务。具体步骤包括访问华为开发者官网(https://developer.huawei.com/consumer/cn/),选择注册方式并按指引操作。实名认证需填写个人信息并签署相关协议,等待1-3个工作日的审核结果。
82 16
|
1月前
|
人工智能 安全 JavaScript
《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》学习笔记——HarmonyOS纯血鸿蒙新特性
HarmonyOS 3.1引入了Stage模型,增强ArkTS语言、应用程序框架、Web、ArkUI等子系统能力。新增功能包括Ability框架的Stage开发模型、ArkUI组件能力提升、应用包管理接口、公共基础类库支持Buffer读写、Web服务文档预览及编辑、图形图像编解码支持等。从API 9开始,Stage模型成为主要开发模型,支持更灵活的应用生命周期管理和窗口调度,提供更好的组件与窗口弱耦合体验。此外,HarmonyOS NEXT开发者预览版实现了全面自研,被称为“纯血鸿蒙”,具备自主可控、高度弹性、更强的安全性和隐私保护特性。
105 21
|
2天前
鸿蒙开发:了解@Builder装饰器
@Builder装饰是鸿蒙UI开发中,非常重要的一个装饰器,在实际的开发中,合理且正确的使用,能够让我们的代码更加的简洁,有两点需要注意,一是,是用私有还是全局,取决于当前的组件的复用机制,如果多个页面都使用了,建议以全局为主;二是传参的动态更新,有更新就使用引用参数传递,没有更新按值传递即可。
49 28
|
1月前
|
存储 人工智能 JavaScript
Harmony OS开发-ArkTS语言速成二
本文介绍了ArkTS基础语法,包括三种基本数据类型(string、number、boolean)和变量的使用。重点讲解了let、const和var的区别,涵盖作用域、变量提升、重新赋值及初始化等方面。期待与你共同进步!
112 47
Harmony OS开发-ArkTS语言速成二
|
2月前
|
API 索引
鸿蒙开发:实现一个超简单的网格拖拽
实现拖拽,最重要的三个方法就是,打开编辑状态editMode,实现onItemDragStart和onItemDrop,设置拖拽移动动画和交换数据,如果想到开启补位动画,还需要实现supportAnimation方法。
86 13
鸿蒙开发:实现一个超简单的网格拖拽
|
2月前
|
索引 API
鸿蒙开发:自定义一个股票代码选择键盘
金融类的软件,特别是股票基金类的应用,在查找股票的时候,都会有一个区别于正常键盘的键盘,也就是股票代码键盘,和普通键盘的区别就是,除了常见的数字之外,也有一些常见的股票代码前缀按钮,方便在查找股票的时候,更加方便的进行检索。
鸿蒙开发:自定义一个股票代码选择键盘
|
2月前
|
API
鸿蒙开发:自定义一个英文键盘
实现方式呢,有很多种,目前采用了比较简单的一种,如果大家采用网格Grid组件实现方式,也是可以的,但是需要考虑每行的边距以及数据,还有最后两行的格子占位问题。
鸿蒙开发:自定义一个英文键盘
|
2月前
|
存储 JSON 数据库
鸿蒙元服务项目实战:备忘录内容编辑开发
富文本内容编辑我们直接使用RichEditor组件即可,最重要的就是参数,value: RichEditorOptions,通过它,我们可以用来设置样式,和获取最后的富文本内容,这一点是很重要的。
鸿蒙元服务项目实战:备忘录内容编辑开发
|
2月前
|
前端开发 API 数据库
鸿蒙开发:异步并发操作
在结合async/await进行使用的时候,有一点需要注意,await关键字必须结合async,这两个是搭配使用的,缺一不可,同步风格在使用的时候,如何获取到错误呢,毕竟没有catch方法,其实,我们可以自己创建try/catch来捕获异常。
105 3
鸿蒙开发:异步并发操作

热门文章

最新文章