ไทล์ไม่ใช่แอป จึงมีการทำให้ใช้งานได้และเปิดตัวโดยใช้กลไกที่แตกต่างกัน
เมื่ออุปกรณ์เปิดใช้ตัวเลือกสำหรับนักพัฒนาซอฟต์แวร์ (โปรแกรมจำลองจะเปิดใช้ฟีเจอร์เหล่านี้โดยค่าเริ่มต้น) ฟีเจอร์เพิ่มเติมที่รองรับการพัฒนาการ์ดจะพร้อมให้ใช้งานทั้งใน Android Studio และ adb
ติดตั้งใช้งานการ์ด
หากต้องการทำให้การ์ดใช้งานได้ ให้ติดตั้งแอปในอุปกรณ์จริงหรือโปรแกรมจำลองโดยใช้ Android Studio ตามที่อธิบายไว้ในสร้างและเรียกใช้แอป จากนั้นเพิ่มการ์ดลงในภาพสไลด์ของการ์ดด้วยตนเองโดยทำตามขั้นตอนเดียวกับผู้ใช้ทั่วไป
ในระหว่างการพัฒนา คุณอาจพบว่าการใช้ฟีเจอร์การเรียกใช้/แก้ไขข้อบกพร่อง "การ์ด Wear OS" ของ Android Studio นั้นง่ายและรวดเร็วกว่า วิธีนี้จะติดตั้งใช้งานและเปิดใช้งานการ์ดโดยอัตโนมัติ ซึ่งช่วยให้คุณโต้ตอบได้ทันทีโดยไม่ต้องทำขั้นตอนเพิ่มเติมด้วยตนเอง
สร้างการกำหนดค่าโดยอัตโนมัติ
วิธีที่ง่ายที่สุดในการทำให้ใช้งานได้และเรียกใช้การ์ดคือการคลิกไอคอน "เรียกใช้บริการ" ในแถบด้านข้าง ซึ่งจะสร้างการกําหนดค่าการเรียกใช้โดยอัตโนมัติหากยังไม่มี ดูข้อมูลเพิ่มเติมได้ที่การเรียกใช้/การกําหนดค่าการแก้ไขข้อบกพร่องของ Wear OS


สร้างการกําหนดค่าด้วยตนเอง
หากการกําหนดค่าอัตโนมัติไม่ได้ผล หรือคุณต้องการควบคุมผลลัพธ์ได้มากขึ้น โปรดดูวิธีการต่อไปนี้ ภาพหน้าจอนี้มาจาก Android Studio Meerkat (2024.3.1)
เลือกตัวเลือก "⋮" ("แฮมเบอร์เกอร์") จากแถบชื่อ
เลือก "แก้ไข…"
เลือก "+" เพื่อเพิ่มการกําหนดค่าในกล่องโต้ตอบที่ปรากฏขึ้น
เลือก "การ์ด Wear OS" เป็นประเภทของการกำหนดค่าใหม่
ป้อนชื่อการกําหนดค่า แล้วเลือกโมดูลและการ์ดตามความเหมาะสม
แตะ "ตกลง" การกําหนดค่าจะปรากฏในแถบชื่อ แตะปุ่ม "▷" ("เรียกใช้") แล้วระบบจะติดตั้งใช้งานและเปิดใช้งานการ์ด
แสดงตัวอย่างการ์ดใน Android Studio
คุณสามารถดูภาพรวมของการ์ดแอป Wear OS ของคุณได้ตั้งแต่การอัปเดตฟีเจอร์ใหม่ของ Android Studio Koala แผงนี้มีประโยชน์อย่างยิ่งหากลักษณะที่ปรากฏของการ์ดเปลี่ยนแปลงตามเงื่อนไข เช่น เนื้อหาที่แตกต่างกันไปตามขนาดหน้าจอของอุปกรณ์ หรือการแข่งขันกีฬาเข้าสู่ช่วงพักครึ่ง

เพิ่มทรัพยากร Dependency
รวมไฟล์ต่อไปนี้ไว้ในไฟล์ 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 คุณจะต้องลงทะเบียนการ์ดภายในพารามิเตอร์ onTileResourceRequest
ของ TilePreviewData
ตามที่แสดงในข้อมูลโค้ดต่อไปนี้
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()
แสดงค่าที่เฉพาะเจาะจงจากแหล่งข้อมูลแพลตฟอร์ม
หากการ์ดใช้ข้อมูลแพลตฟอร์ม เช่น อัตราการเต้นของหัวใจ แคลอรี ระยะทาง และจำนวนก้าว การ์ดจะแสดงค่าเริ่มต้นสำหรับข้อมูลดังกล่าว
หากต้องการแสดงค่าที่เฉพาะเจาะจง ให้ตั้งค่าพารามิเตอร์ platformDataValues
เมื่อสร้างออบเจ็กต์ TilePreviewData
ดังที่แสดงในข้อมูลโค้ดต่อไปนี้
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: ข้อผิดพลาด