【HM】元服务卡片开发必须要搞明白的两张图表:数据交互和事件能力

举个例子,手机负一屏中的“日程”卡片

1、点击卡片进入日程首页;

2、点击+直接进入日程创建页;

3、在日程应用创建/修改了日程,同步刷新卡片数据;

4、每隔30分钟定时刷新卡片数据;

5、每天中午12:15定点刷新卡片数据;

实现上述功能或带着这些问题,继续往下理解:

一、数据交互

首先理解图中每个大方框对象,

UIAbility:日程应用的入口页面或其他页面对象;

Card.ets:卡片页面ArkUI布局文件;

FormExtensionAbility:卡片的生命周期;

卡片使用方:比如负一屏、应用商店、小艺搜索等展示卡片的地方(宿主);

另外,还需要知道

卡片提供方:UIAbility、FormExtensionAbility,简单理解就是日程的应用;

卡片管理方:定时任务、刷新管理、配置管理、Push等代理服务;

所以,

日程创建/修改成功后,调用formProvider对象的updateForm方法即可更新卡片数据。(实现功能3)

在form_config.json配置文件中设置updateDuration定时参数(单位粒度是30分钟)、scheduledUpdateTime定点参数,

  1. "scheduledUpdateTime": "12:15",
  2. "updateDuration": 1,

之后在FormExtensionAbility的生命周期函数onUpdateForm内调用formProvider对象的updateForm方法即可更新卡片数据。(实现功能4和5)  

二、事件能力

​​​​​​​

图中大方框的对象介绍同上。

日程卡片Card.ets 提供了postCardAction接口,用于卡片自己内部和卡片提供方UIAbility对象间的交互,支持router、call和message三种类型的事件:

router事件:可以拉起指定的UIAbility;比如日程首页(实现功能1);

call事件:可以调用卡片提供方指定的方法;比如+调用创建日程的方法(实现功能2);

message事件:卡片自身内部实现数据刷新,通过在FormExtensionAbility的生命周期函数onFormEvent内调用formProvider对象的updateForm方法。

参考官方资料:

https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-ui-widget-creation-V5

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cdblh

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值