复杂功能是指表盘上显示的除时间以外的其他任意功能。例如,电量指示器就是一项复杂功能。Complications API 既适用于表盘,也适用于数据源应用。
本文档的其余部分将介绍数据源、表盘和复杂功能类型。
复杂功能数据源
为表盘提供复杂功能相关数据(如电池电量、天气或步数数据)的应用称为“复杂功能数据源”。这些数据源会提供原始数据,并且不负责控制数据在表盘上的呈现方式。如需了解如何编写为表盘提供数据的应用,请参阅向复杂功能提供数据。
下图显示了 Wear OS by Google 谷歌如何协调从数据源到表盘的数据流。
![复杂功能数据流 复杂功能数据流](https://developer.android.google.cn/static/wear/images/complications-data-flow.png?authuser=6&hl=ro)
表盘上的复杂功能
表盘从复杂功能数据源接收数据,这样便可以包含复杂功能,而无需用于获取底层数据的代码。表盘负责控制数据的呈现方式,因此可以将数据与其设计自然融合在一起。如需了解详情,请参阅有关复杂功能的设计指南。
如需了解如何向表盘添加复杂功能,请参阅向表盘添加复杂功能。
复杂功能类型
复杂功能类型用于定义可在复杂功能中显示的数据类型,或可由数据源提供的数据类型。例如,如果数据主要由短字符串组成,请使用 SHORT_TEXT
类型。ComplicationData
对象始终有一个复杂功能类型,用来定义必填字段和选填字段。必填字段代表数据的主要部分;大多数类型的名称都取自必填字段。
数据源使用复杂功能类型的方式与表盘有所不同:
- 数据源会选择要提供的复杂功能数据的类型(包括要提供这些类型的哪些选填字段),以及可以支持多少种不同类型。例如,步数数据源可能支持
RANGED_VALUE
和SHORT_TEXT
类型,而“下次会议”数据源可能支持SHORT_TEXT
和LONG_TEXT
类型。 - 您可以选择要在表盘中添加的复杂功能的数量,以及要支持的复杂功能类型。例如,表盘上的拨号复杂功能可能支持
SHORT_TEXT
、ICON
和RANGED_VALUE
类型。表盘上的量表可能仅支持RANGED_VALUE
类型。
如需详细了解不同的复杂功能类型和每种类型支持的字段,请参阅复杂功能类型。