【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定点参数,
- "scheduledUpdateTime": "12:15",
- "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)!