自学内容网 自学内容网

【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


原文地址:https://blog.csdn.net/cdblh/article/details/140592206

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!