迁移到 ProtoLayout 命名空间

从版本 1.2 开始,大多数功能块布局 API 都位于 androidx.wear.protolayout 命名空间中。如需使用最新的 API,请在代码中完成以下迁移步骤。

更新依赖项

在应用模块的 build 文件中,进行以下更改:

Groovy

  // Remove
  implementation 'androidx.wear.tiles:tiles-material:version'

  // Include additional dependencies
  implementation "androidx.wear.protolayout:protolayout:1.2.0"
  implementation "androidx.wear.protolayout:protolayout-material:1.2.0"
  implementation "androidx.wear.protolayout:protolayout-expression:1.2.0"

  // Update
  implementation "androidx.wear.tiles:tiles:1.4.0"

Kotlin

  // Remove
  implementation("androidx.wear.tiles:tiles-material:version")

  // Include additional dependencies
  implementation("androidx.wear.protolayout:protolayout:1.2.0")
  implementation("androidx.wear.protolayout:protolayout-material:1.2.0")
  implementation("androidx.wear.protolayout:protolayout-expression:1.2.0")

  // Update
  implementation("androidx.wear.tiles:tiles:1.4.0")

更新命名空间

在应用的 Kotlin 和 Java 代码文件中,进行以下更新。或者,您也可以执行此命名空间重命名脚本

  1. 将所有 androidx.wear.tiles.material.* 导入内容都替换为 androidx.wear.protolayout.material.*。另外也针对 androidx.wear.tiles.material.layouts 库完成此步骤。
  2. 将大多数其他 androidx.wear.tiles.* 导入内容替换为 androidx.wear.protolayout.*

    androidx.wear.tiles.EventBuildersandroidx.wear.tiles.RequestBuildersandroidx.wear.tiles.TileBuildersandroidx.wear.tiles.TileService 的导入内容应保持不变。

  3. 重命名 TileService 和 TileBuilder 类中的一些已废弃的方法:

    1. TileBuilders:将 getTimeline() 重命名为 getTileTimeline(),将 setTimeline() 重命名为 setTileTimeline()
    2. TileService:将 onResourcesRequest() 重命名为 onTileResourcesRequest()
    3. RequestBuilders.TileRequest:将 getDeviceParameters() 重命名为 getDeviceConfiguration(),将 setDeviceParameters() 重命名为 setDeviceConfiguration(),将 getState() 重命名为 getCurrentState(),将 setState() 重命名为 setCurrentState()