Wear OS-Kacheln in Android Studio als Vorschau ansehen

Ab dem Feature Drop in Android Studio Koala kannst du dir Momentaufnahmen der Kacheln deiner Wear OS-App ansehen. Dieser Bereich ist besonders nützlich, wenn sich die Darstellung der Kachel als Reaktion auf bestimmte Bedingungen ändert, z. B. unterschiedliche Inhalte je nach Anzeigegröße des Geräts oder Halbzeit bei einer Sportveranstaltung.

Gruppennamen im Vorschaubereich entsprechen dem Gruppennamen in der Vorschauanmerkung
Vorschaubereich für Kacheln in Android Studio

Abhängigkeiten hinzufügen

Fügen Sie die folgenden Abhängigkeiten in die Datei build.gradle.kts oder build.gradle Ihrer Anwendung ein:

dependencies {
    implementation("androidx.wear.tiles:tiles-tooling-preview:1.4.0-beta01")
    debugImplementation("androidx.wear.tiles:tiles-tooling:1.4.0-beta01")
    implementation("androidx.wear:wear-tooling-preview:1.0.0")
}

Kachelvorschauen konfigurieren

Wenn du eine Vorschau der Darstellung deiner Kacheln in verschiedenen Wear OS-Displaygrößen sehen möchtest, füge die Annotation @Preview hinzu und übergib den Parameter device. Diese @Preview-Annotation stammt aus einem anderen Paket als dem, das Sie für zusammensetzbare Vorschauen verwenden.

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

Ressourcen hinzufügen und registrieren

Wenn deine Kachel Android-Ressourcen verwendet, musst du sie im Parameter onTileResourceRequest von TilePreviewData registrieren, wie im folgenden Code-Snippet gezeigt:

import androidx.wear.tiles.tooling.preview.Preview

@Preview(device = WearDevices.SMALL_ROUND)
fun previewWithResources(context: Context) = TilePreviewData(
    onTileResourceRequest = { request ->
        ProtoResources.Builder()
            .setVersion(myResourcesVersion)
            .addIdToImageMapping(
                    myImageId, getImageById(R.drawable.myDrawableImageId))
            .build()
    },
    onTileRequest = { request ->
        TilePreviewHelper.singleTimelineEntryTileBuilder(
            buildMyTileLayout()
        ).build()
    }
)

Bestimmte Werte aus Plattformdatenquellen anzeigen

Wenn deine Kachel Plattformdaten wie Herzfrequenz, Kalorien, Strecke und Schritte verwendet, zeigt die Kachel Standardwerte für sie an.

Um einen bestimmten Wert anzuzeigen, legen Sie den Parameter platformDataValues beim Erstellen des TilePreviewData-Objekts wie im folgenden Code-Snippet fest:

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