鸿蒙卡片和原子服务

什么是卡片
  • 凡是图标下方显示一条横线的应用,都可以在桌面上添加对应的卡片
  • 用户无需打开应用,就可以从卡片中获取应用相关的动态信息
  • 通过与卡片进行交互,用户无需打开应用,就可以实现应用内的部分操作。
  • 卡片是应用内页面的展现形式,将页面的重要信息或者操作前置到卡片上,以达到服务直达、减少体验层级的目的。
卡片的数量及尺寸
  • 一个应用内包含1-N个Page Ability,我们可以在config.json中为每个Page Ability配置0-16个卡片,而配置的每个卡片可以有1-4个尺寸,因此,每个Page Ability对应的卡片数是0-64。对于同一个卡片,用户可以在桌面上重复添加多个实例
  • 无论一个应用有多少个卡片,卡片只有4种尺寸,分别是:1×2的微尺寸、 2×2的小尺寸、2×4的中尺寸、4×4的大尺寸对于1×2的微尺寸,会占据1行2列;对于2×2的小尺寸,会占据2行2列;对于2×4的中尺寸,会占据2行4列。同理,对于4×4的大尺寸,会占据4行4列。
卡片与原子化服务

与传统的需要安装的应用相比,原子化服务是应用的另外一种形态,它是可以提供特定功能、免安装、有独立入口的应用形态。原子化服务是鸿蒙系统提供的一种面向未来的服务提供方式。
在这里插入图片描述

卡片的整体框架

在这里插入图片描述
在这里插入图片描述

卡片定时/定点刷新的流程
  • 卡片使用方
    • 显示卡片内容的宿主应用,控制卡片在宿主中展示的位置。
  • 卡片管理服务
    • 用于管理系统中所添加卡片的常驻代理服务,包括卡片对象的管理与使用,以及卡片周期性刷新等。
  • 卡片提供方
    • 提供卡片显示内容的HarmonyOS应用或原子化服务,控制卡片的显示内容、控件布局以及控件点击事件。
  • 说明
    • 卡片使用方和提供方不要求常驻运行,在需要添加/删除/请求更新卡片时,卡片管理服务会拉起卡片提供方获取卡片信息。
      在这里插入图片描述
卡片开放到底用JS还是JAVA

在这里插入图片描述

通过该表可以看出:

  • JS卡片比JAVA卡片支持的控件和能力都更丰富。
  • Java卡片适合作为一个直达入口,没有复杂的页面和事件。
  • JS卡片适合有复杂界面的卡片。

推荐使用JS卡片,因为使用起来更灵活、更简单、功能更强大!

Logo

纵情码海钱塘涌,杭州开发者创新动! 属于杭州的开发者社区!致力于为杭州地区的开发者提供学习、合作和成长的机会;同时也为企业交流招聘提供舞台!

更多推荐