資訊方塊不是應用程式,因此會使用不同的機制進行部署和啟動。當裝置啟用開發人員選項 (模擬器預設會啟用這些功能) 時,支援資訊方塊開發的其他功能就會在 Android Studio 和 adb
中提供。
部署設定方塊
如要部署資訊方塊,您可以使用 Android Studio 在實體裝置或模擬器上安裝應用程式,如「建構並執行應用程式」一文所述。接著,按照一般使用者相同的步驟,手動將資訊方塊新增至資訊方塊輪轉介面。
在開發過程中,您可能會發現使用 Android Studio 的 「Wear OS Tile」Run/Debug 設定功能更簡單、更快速。這個方法會自動部署及啟用資訊方塊,讓您不必再手動執行其他步驟,即可立即進行互動。
自動建立設定
如要部署及執行圖塊,最簡單的方法是使用 gutter 中的「執行服務」圖示。如果尚未建立執行設定,這項操作會自動建立執行設定。詳情請參閱「Wear OS 執行/偵錯設定」。


手動建立設定
如果自動設定無法運作,或您想進一步控制結果,請參閱以下操作說明。這些螢幕截圖來自 Android Studio Meerkat (2024.3.1)。
選取標題列中的「⋮」(「漢堡圖示」) 選項。
選取「編輯…」
選取「+」即可在隨即顯示的對話方塊中新增設定。
選取「Wear OS 資訊方塊」做為新設定的類型。
輸入設定名稱,然後視需要選取模組和資訊方塊。
輕觸「確定」。設定會顯示在標題列中。輕觸「▷」(「執行」) 按鈕,即可部署並啟用資訊方塊。
在 Android Studio 中預覽資訊方塊
自 Android Studio Koala 功能更新起,您可以查看 Wear OS 應用程式資訊方塊的快照。如果資訊方塊的外觀會根據條件變更 (例如根據裝置的螢幕大小顯示不同內容,或是在體育賽事進入中場時顯示相關資訊),這個面板就特別實用。

新增依附元件
在應用程式的 build.gradle.kts
或 build.gradle
檔案中加入下列依附元件:
dependencies {
implementation("androidx.wear.tiles:tiles-tooling-preview:1.5.0-alpha10")
debugImplementation("androidx.wear.tiles:tiles-tooling:1.5.0-alpha10")
implementation("androidx.wear:wear-tooling-preview:1.0.0")
}
設定資訊方塊預覽畫面
如要預覽資訊方塊在不同 Wear OS 螢幕尺寸下的外觀,請新增 @Preview
註解,並傳入 device
參數。請注意,這個 @Preview
註解來自不同的套件,與您用於可組合項預覽畫面的套件不同。
import androidx.wear.tiles.tooling.preview.Preview
@Preview(device = WearDevices.SMALL_ROUND)
@Preview(device = WearDevices.LARGE_ROUND)
fun tilePreview(context: Context) = TilePreviewData(
onTileRequest = { request ->
TilePreviewHelper.singleTimelineEntryTileBuilder(
buildMyTileLayout()
).build()
}
)
新增及註冊資源
如果資訊方塊使用 Android 資源,您必須在 TilePreviewData
的 onTileResourceRequest
參數中註冊這些資源,如以下程式碼片段所示:
import androidx.wear.tiles.tooling.preview.Preview @Preview(device = WearDevices.SMALL_ROUND) fun previewWithResources(context: Context) = TilePreviewData( onTileResourceRequest = { request -> Resources.Builder() .setVersion(myResourcesVersion) .addIdToImageMapping( myImageId, getImageById(R.drawable.myDrawableImageId)) .build() }, onTileRequest = { request -> TilePreviewHelper.singleTimelineEntryTileBuilder( buildMyTileLayout() ).build() } ) fun getImageById( @DrawableRes id: Int, ): ImageResource = ImageResource.Builder() .setAndroidResourceByResId( AndroidImageResourceByResId.Builder() .setResourceId(id) .build(), ) .build()
顯示平台資料來源的特定值
如果資訊方塊會使用平台資料 (例如心率、卡路里、距離和步數),則資訊方塊會顯示這些資料的預設值。
如要顯示特定值,請在建立 TilePreviewData
物件時設定 platformDataValues
參數,如以下程式碼片段所示:
import androidx.wear.tiles.tooling.preview.Preview @Preview(device = WearDevices.SMALL_ROUND) fun previewWithPlatformOverride(context: Context) = TilePreviewData( platformDataValues = PlatformDataValues.of( PlatformHealthSources.Keys.HEART_RATE_BPM, DynamicDataBuilders.DynamicDataValue.fromFloat(160f) ), onTileRequest = { request -> TilePreviewHelper.singleTimelineEntryTileBuilder( buildMyTileLayout() ).build() } )
使用 ADB 操作資訊方塊
adb
可用於在開發期間透過程式輔助方式安裝、移除及啟用資訊方塊。
在下列指令中,ComponentName
是一個字串,由套件名稱和該套件內的類別組成,例如 com.example.wear.tiles/com.example.wear.tiles.PreviewTileService
。
add-tile
新增 COMPONENT_NAME
提供的圖塊,並傳回索引。
adb shell am broadcast -a com.google.android.wearable.app.DEBUG_SURFACE --es operation add-tile --ecn component [COMPONENT_NAME]
輸出內容範例:
Broadcast completed: result=1, data="Index=[0]"
如果輪轉介面中已有資訊方塊,系統會移除該方塊,然後重新插入相同位置。否則會插入 Index[0]
。此外,如果輪轉介面已達到上限,系統會移除最後一個圖塊,為新圖塊騰出空間。
show-tile
啟用索引 TILE_INDEX
的方塊。
adb shell am broadcast -a com.google.android.wearable.app.DEBUG_SYSUI --es operation show-tile --ei index [TILE_INDEX]
輸出內容範例:
Broadcast completed: result=1
remove-tile
移除輪轉介面中與 COMPONENT_NAME
相關聯的所有資訊方塊。
adb shell am broadcast -a com.google.android.wearable.app.DEBUG_SURFACE --es operation remove-tile --ecn component [COMPONENT_NAME]
輸出內容範例:
result=1, data="Tile(s) removed."
傳回值
- result=0:沒有廣播接收器回應此指令,最有可能的原因是 Wear OS 版本過舊,或是偵錯程序未執行。
- result=1:成功。
- result>1:錯誤。