鸿蒙原生开发手记:02-服务卡片开发

介绍

服务卡片是一直桌面小组件,可以放置在桌面上等位置,一触即达。

服务卡片分为静态卡片和动态卡片两类。本文介绍静态卡片。

创建

回到 DevEco,在目录entry右键,点击创建 Service Widget,选择 Static Widget, 点击 Next。

输入名称,选择支持的卡片大小,点击确定创建卡片。

其中 22 代表 2行2列,12 代表1行2列。

编写卡片界面

交互

点击事件传参

这里使用 ArkUI 编写界面,不过不能使用点击事件,转而应该使用 FormLink,相关的事件在 formability 侧接受,通过不同的参数,调用 router.push 打开不同的页面。

FormLink({
  action: this.ACTION_TYPE,
  abilityName: this.ABILITY_NAME,
  params: {
    action: this.MESSAGE
  }
}) {
...
}

参数接收

entryability 中的 onCreateonNewWant 生命周期中,来接收参数

  onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {

    if(want?.parameters?.params) {
      let params: Record<string, Object> = JSON.parse(want.parameters.params as string);
      this.selectPage = params.action as string;
      console.log("selectPage", this.selectPage);
    }
  }

  onNewWant(want: Want, launchParam: AbilityConstant.LaunchParam): void {
    console.log('onNewWant');
    if (want?.parameters?.params) {
      // want.parameters.params 对应 postCardAction() 中 params 内容
      let params: Record<string, Object> = JSON.parse(want.parameters.params as string);
      this.selectPage = params.action as string;
      hilog.info(DOMAIN_NUMBER, TAG, `onNewWant selectPage: ${this.selectPage}`);
    }
    if (this.currentWindowStage !== null) {
      this.onWindowStageCreate(this.currentWindowStage);
    }
  }

注意事项

1.运行时,请使用正常模式,服务卡片不支持 HotReload ,而且热重载模式下卡片无法正常显示。

参考资料

#牛客创作赏金赛#
鸿蒙原生开发手记 文章被收录于专栏

鸿蒙原生开发手记

全部评论

相关推荐

点赞 评论 收藏
分享
11-15 20:44
中北大学 后端
自我介绍现在大三&nbsp;学校让实习嘛&nbsp;最早什么时候到岗&nbsp;&nbsp;1.&nbsp;&nbsp;讲一讲你的项目&nbsp;和我们业务相契合的地方算法工程方面的-&nbsp;讲了之前部署的mutualAI社区的事情&nbsp;还有在strikingly的业务-&nbsp;ollama3&nbsp;通译7b&nbsp;2.&nbsp;之前处理的数据都是文本数据&nbsp;有处理过类似pdf这样的文件嘛之前处理的确实是文本数据&nbsp;后面也用过Python的解析库&nbsp;但是时间有点长&nbsp;具体讲不明白了3.&nbsp;&nbsp;Agent框架&nbsp;&nbsp;&nbsp;用过魔搭社区的4.&nbsp;Python的后端框架都用过那几个&nbsp;&nbsp;&nbsp;FastAPI&nbsp;Flask&nbsp;Django都用过5.&nbsp;用没用过FastAPI的后台管理框架&nbsp;和权限管理的框架?-&nbsp;没有了解过&nbsp;之前都是用的Django的6.&nbsp;爬虫框架你用过嘛-&nbsp;没用过框架&nbsp;感觉他们的东西有点重-&nbsp;用过requests框架&nbsp;Aiohttp这样的框架&nbsp;7.&nbsp;Nginx配置跨域&nbsp;-&nbsp;这个好久没做忘了8.&nbsp;&nbsp;Docker&nbsp;和&nbsp;K8s用过嘛-&nbsp;用过docker&nbsp;没用k8s9.&nbsp;&nbsp;MySQL优化&nbsp;怎么优化Mysql-&nbsp;应该是加索引&nbsp;&nbsp;redis缓存&nbsp;本地缓存&nbsp;联合索引&nbsp;MySQL的八股需要看一下10.&nbsp;会构建&nbsp;数据表嘛-&nbsp;这个应该是阿里和三范式那一套&nbsp;记不清楚了(好久没建表了)11.&nbsp;对我们有什么疑问嘛&nbsp;-&nbsp;​问了具体干一些什么事情&nbsp;听着好像tmd运维&nbsp;后端&nbsp;算法全要干&nbsp;好黑奴12.&nbsp;机器学习&nbsp;深度学习了解多少​会一点逻辑回归&nbsp;支持向量机&nbsp;随机森林这样的&nbsp;​深度学习会CNN&nbsp;RNN这样的13.&nbsp;CICD了解过吗&nbsp;&nbsp;&nbsp;没做过工程应用&nbsp;之前&nbsp;配置了一下&nbsp;后面交给另一个人了&nbsp;用gitlab&nbsp;没有机会学习
查看13道真题和解析
点赞 评论 收藏
分享
点赞 收藏 评论
分享
牛客网
牛客企业服务