迁移到 ProtoLayout 命名空间

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

更新依赖项

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

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()