HarmonyOS应用开发实战:猫猫大作战-FormExtensionAbility 的实现
·


前言
FormExtensionAbility 是服务卡片的生命周期管理器,负责卡片的创建、更新、删除等操作。每个卡片类型都需要一个对应的 FormExtensionAbility。
本文以「猫猫大作战」的战绩卡片管理为锚点,讲解 FormExtensionAbility 的实现。
提示:本系列不讲 ArkTS 基础语法与环境搭建。
一、卡片生命周期
import { FormExtensionAbility } from '@kit.FormKit';
import { formBindingData } from '@kit.FormKit';
export default class ScoreCardAbility extends FormExtensionAbility {
onAddForm(want) {
// 创建卡片
return formBindingData.createFormBindingData({
score: '88888',
player: '猫猫侠'
});
}
onFormEvent(formId, message) {
// 卡片交互事件
if (message === 'refresh') {
this.onUpdateForm(formId);
}
}
onUpdateForm(formId) {
// 更新卡片数据
return formBindingData.createFormBindingData({
score: this.getLatestScore().toString(),
player: '猫猫侠'
});
}
onRemoveForm(formId) {
// 卡片从桌面移除
console.info(`卡片 ${formId} 已移除`);
}
}
二、总结
FormExtensionAbility 管理卡片的完整生命周期。
核心要点:
onAddForm创建卡片时调用onUpdateForm定时/事件触发更新onRemoveForm卡片移除时清理
下一篇预告:第 168 篇将深入 postCardAction——卡片点击回跳。
如果这篇文章对你有帮助,欢迎点赞👍、收藏⭐、关注🔔,你的支持是我持续创作的动力!
相关资源:
更多推荐
所有评论(0)