实现卡片刷新功能鸿蒙示例代码

鸿蒙场景化示例代码技术工程师
发布于 2025-3-4 15:42
1.8w浏览
0收藏

本文原创发布在华为开发者社区

介绍

本示例基于用户首选项实现刷新服务卡片数据的功能。

实现卡片刷新功能源码链接

效果预览

实现卡片刷新功能鸿蒙示例代码-鸿蒙开发者社区

使用说明

长按应用添加服务卡片,在应用内点击刷新卡片数据后,服务卡片数据刷新。

实现思路

创建服务卡片

根据官网指南创建一个静态的arkts卡片,卡片的页面文件和生命周期文件均为自动生成,开发者可根据需要修改卡片UI页面。

卡片数据更新

将服务卡片的数据存在用户首选项数据库中,点击卡片刷新按钮时,根据获取到的卡片的formId更新服务卡片的数据。核心代码如下,源码参考CardManager.ets

updateCard(context?: Context, formId?: string) {
    if (!context) {
      context = EntryContext.getContext() as Context
    }
    if (!formId) {
      formId = this.getFormId(context)
    }

    console.log('formIdformId', formId)

    if (formId) {
      let pref = dataPreferences.getPreferencesSync(context, { name: CardManager.KEY_CARD_INFO })
      let cardInfo = pref.getSync(CardManager.KEY_CARD_INFO, {}) as FormDataClass
      console.log('cardInfo', cardInfo)
      let dataClass = new FormDataClass()
      dataClass.title = cardInfo.title
      dataClass.data = cardInfo.data
      formProvider.updateForm(formId, formBindingData.createFormBindingData(dataClass))
      this.saveCardId(context, formId)
    }
  }
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.

分类
收藏
回复
举报


回复
    相关推荐