服务卡片数据更新:定时刷新与交互更新

一张卡片如果数据永远不变,用户很快就会删掉它。让卡片“活”起来的关键是数据更新机制:它决定了卡片上的信息是否及时、是否省电、是否流畅。

更新的三种方式

鸿蒙卡片支持三种数据更新:定时刷新(按周期自动更新)、事件刷新(后台任务触发推送)、交互更新(用户点击卡片触发)。三种方式各有适用场景,可以组合使用。

设计原则:用最省电的方式满足时效性需求,能定时就别常驻,能事件就别轮询。

服务卡片数据更新:定时刷新与交互更新开发示例图

定时刷新

在卡片配置里声明刷新周期(如每 30 分钟),系统到点会唤醒卡片后台能力获取新数据并更新 UI。周期越长越省电,但信息越滞后。

适合天气、汇率、日历这类“变化不快”的数据。注意刷新周期的下限有系统约束,别设得太短。

事件刷新与推送

业务数据变化时(订单状态、快递位置、消息通知),由后台任务主动推送新数据给卡片,实时性强、不需要轮询。实现上通过 FormExtensionAbility 的更新接口完成。

事件刷新适合“必须及时”的场景,比如订单提醒、物流更新。配合系统消息渠道,体验最佳。

服务卡片数据更新:定时刷新与交互更新架构示意图

交互更新

用户点击卡片上的按钮,卡片可以立即更新内容:比如点击“打卡”按钮,卡片马上显示“已打卡”。交互更新提升的是“参与感”,让卡片不只是一个信息展示框。

交互动作会触发后台逻辑,注意请求失败时的状态回退,避免“点了没反应”。

性能与省电

卡片更新要控制频率和体积:高频刷新耗电,大体积数据加载慢。合理缓存、增量更新、按需请求,是卡片开发的进阶要求。

数据更新机制设计得好,卡片才有“生命力”。从定时刷新起步,逐步加事件和交互,一张好卡片就打磨出来了。

发表评论