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

news/2024/12/21 20:27:18/文章来源:https://www.cnblogs.com/baoto/p/18621137

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/856519.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java 基础:关键字 标识符

1. 关键字(Keyword)定义:被Java语言赋予了特殊含义,用做专门用途的字符串(或单词)HelloWorld案例中,出现的关键字有 class、public 、 static 、 void 等,这些单词已经被Java定义好了特点:全部关键字都是小写字母 关键字比较多,不需要死记硬背,学到哪里记到哪里…

三点估算

三点估算选择的三种估算值不包括如下哪项如下: 三点估算是一种常用的项目管理工具,用于估算项目的成本、工期和资源等情况。三点估算通过选择最可能值、最乐观值和最悲观值来确定估算范围,以提高估算的准确性和可信度。在进行三点估算时,选择的三种估算值通常不包括以下几项…

Wpf Prism中添加新控件的区域适配器

上节中我们讲了怎么样定义一个区域与区域引用视图,但并不是所有的组件都支持组件当作区域使用,比如StackPanel就不支持当作区域来使用: 我们自接使用会报以下错误,这时候我们就要自定义一个区域适配器: 1.首先我们创建一个StackPanelRegionAdapter的类:1 using Prism.Reg…

【专题】大模型时代的具身智能2024报告汇总PDF洞察(附原数据表)

原文链接: https://tecdat.cn/?p=38597 在当今科技飞速发展的时代,大模型的崛起如同一股强劲的浪潮,席卷了整个科技领域,而具身智能则在这浪潮中崭露头角,成为人工智能领域备受瞩目的前沿方向。随着数据的海量增长与计算能力的迅猛提升,大模型为具身智能注入了强大的智慧…

【数据库开发】小红书MySQL数据一致性校验能力探索与实践

原创 等你加入的 小红书技术REDtech 2024年12月19日 17:01 北京 图片 本文主要介绍数据一致性校验如何结合小红书的业务进行实践并落地,以及数据一致性校验在小红书内部拿到的实际收益。 如有感兴趣的同学,欢迎联系我们开展技术交流。 一、背景 1.1 什么是数据一致性校验 在数…

【专题】2024年中国新能源汽车用车研究报告汇总PDF洞察(附原数据表)

原文链接: https://tecdat.cn/?p=38564 本年度,国家及地方政府持续发力,推出诸多政策组合拳,全力推动汽车产业向更高质量转型升级,积极鼓励消费升级,并大力推行以旧换新等惠民生、促发展举措。尤为引人注目的是,在新能源汽车领域,补贴力度空前提升,在原有税费减免政策…

2024 EC Final 前集训记录

ECF23 Link C. Equal Sums 记值域为 \(w\) 并认为 \(n,m\) 同阶,直接背包的话和的值域能够达到 \(O(nw)\),统计每个答案的复杂度也是 \(O(nw)\),于是总复杂度是 \(O(n^3w)\)。 注意到最后需要维护的信息仅仅是 \(\sum x_i = \sum y_j \Leftrightarrow \sum x_i - \sum y_j =…

Wpf加入Prism框架

Prism是一个开源框架,用于在WPF、Xamarin Forms、Uno/Win UI等应用中创建松耦合、可维护、可测试的XAML应用程序。 Prism提供了一组设计模式的实现,这些设计模式有助于编写结构良好且可维护的XAML应用程序 ,包括MVVM,dependency injection,commands,EventAggregator等。1…

【甲方安全】工业行业+工业无线网络技术

摘 要 工业互联网体系融合了新一代信息通信技术与工业经济,推动了工业数字化、网络化、智能化转型,其中网络体系是基础。工业无线网络作为其重要组成部分,具有灵活部署的特性,能适应复杂的工业环境,为工业互联网的构建提供基础。深入探讨了工业无线网络技术在工业互联网中…

AutoCAD VBA 模态窗口焦点丢失的终极解决办法

话不多说上代码 问题出在userform这个窗体的样式上需要用到的win32api函数以及常量Public Declare PtrSafe Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr Public Const…

数值计算方法(1) 插值方法

+++ date = 2024-12-21T10:12:41+08:00 draft = true title = 数值计算方法(1) 插值方法 +++ 初次发布于我的个人文档 之前有一期简单介绍了一下拉格朗日插值和数值积分微分方法,我感觉有点太简单了。所以这次打算开个系列,好好唠一唠。 什么是插值 在小学阶段,有一种题目叫…

Antdesign React之API展示页面

本项目基于antdesignpro,点击调试后跳转弹窗,左边展示public/doc路径下的md文档并且通过markdownview渲染成md,右侧是json编辑器index.tsx import React, { useState, useMemo } from react; import { Layout, Menu, theme, Row, Col } from antd; import { HomeOutlined, F…