Kacheln sind keine Apps und werden daher mit anderen Mechanismen bereitgestellt und gestartet.
Wenn auf einem Gerät die Entwickleroptionen aktiviert sind (bei Emulatoren sind diese Funktionen standardmäßig aktiviert), sind zusätzliche Funktionen zur Unterstützung der Kachelentwicklung sowohl in Android Studio als auch in adb verfügbar.
Kacheln bereitstellen
Wenn Sie Ihre Kachel bereitstellen möchten, können Sie Ihre App mit Android Studio auf einem physischen Gerät oder Emulator installieren, wie unter App erstellen und ausführen beschrieben. Fügen Sie dann die Kachel manuell dem Kachelkarussell hinzu, indem Sie dieselben Schritte wie normale Nutzer ausführen.
Während der aktiven Entwicklung ist es möglicherweise einfacher und schneller, die Konfiguration „Wear OS-Tile“ ausführen/debuggen von Android Studio zu verwenden. Bei dieser Methode wird die Tile automatisch bereitgestellt und aktiviert, sodass Sie sofort ohne zusätzliche manuelle Schritte damit interagieren können.
Konfiguration automatisch erstellen
Am einfachsten lässt sich eine Kachel bereitstellen und ausführen, indem Sie das Symbol „Dienst ausführen“ im Gutter verwenden. Dadurch wird automatisch eine Ausführungskonfiguration erstellt, falls noch keine vorhanden ist. Weitere Informationen finden Sie unter Konfigurationen zum Ausführen/Debuggen für Wear OS.
Konfiguration manuell erstellen
Wenn die automatische Konfiguration nicht funktioniert oder Sie mehr Kontrolle über das Ergebnis haben möchten, lesen Sie die folgende Anleitung. Die Screenshots stammen aus Android Studio Meerkat (2024.3.1).
Wählen Sie in der Titelleiste das Dreipunkt-Menü aus.
Wählen Sie „Bearbeiten…“ aus.
Wählen Sie im angezeigten Dialogfeld „+“ aus, um eine Konfiguration hinzuzufügen.
Wählen Sie „Wear OS-Tile“ als Typ der neuen Konfiguration aus.
Geben Sie einen Namen für die Konfiguration ein und wählen Sie das entsprechende Modul und die entsprechende Kachel aus.
Tippen Sie auf „OK“. Ihre Konfiguration wird in der Titelleiste angezeigt. Tippen Sie auf die Schaltfläche „▷“ („Ausführen“). Ihre Kachel wird dann bereitgestellt und aktiviert.
Kacheln in Android Studio als Vorschau ansehen
Ab dem Android Studio Koala Feature Drop können Sie sich Snapshots der Kacheln Ihrer Wear OS-App ansehen. Dieses Steuerfeld ist besonders nützlich, wenn sich das Erscheinungsbild der Kachel je nach Bedingungen ändert, z. B. wenn je nach Displaygröße des Geräts unterschiedliche Inhalte angezeigt werden oder wenn ein Sportereignis die Halbzeit erreicht.
Abhängigkeiten hinzufügen
Fügen Sie die folgenden Abhängigkeiten in die Datei build.gradle.kts oder build.gradle Ihrer App ein:
dependencies {
implementation("androidx.wear.tiles:tiles-tooling-preview:1.6.2")
debugImplementation("androidx.wear.tiles:tiles-tooling:1.6.2")
implementation("androidx.wear:wear-tooling-preview:1.0.0")
}
Vorschau der Ansicht konfigurieren
Wenn du eine Vorschau deiner Kachel auf 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 Composable-Vorschauen verwenden.
@Preview(device = WearDevices.SMALL_ROUND) @Preview(device = WearDevices.LARGE_ROUND) fun tilePreview(context: Context) = TilePreviewData { request -> TilePreviewHelper.singleTimelineEntryTileBuilder( buildMyTileLayout(context, request.deviceConfiguration) ).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:
@Preview(device = WearDevices.SMALL_ROUND) fun previewWithResources(context: Context) = TilePreviewData( onTileResourceRequest = { request -> Resources.Builder() .setVersion(RESOURCES_VERSION) .addIdToImageMapping( myImageId, getImageById(R.drawable.animated_walk) ) .build() }, onTileRequest = { request -> TilePreviewHelper.singleTimelineEntryTileBuilder( buildMyTileLayout(context, request.deviceConfiguration) ).build() } )
Bestimmte Werte aus Plattformdatenquellen anzeigen
Wenn deine Tile Plattformdaten wie Herzfrequenz, Kalorien, Distanz und Schritte verwendet, werden dafür Standardwerte angezeigt.
Wenn Sie einen bestimmten Wert anzeigen möchten, legen Sie beim Erstellen des TilePreviewData-Objekts den Parameter platformDataValues fest, wie im folgenden Code-Snippet gezeigt:
@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( buildMyTileLayoutDynamic(context, request.deviceConfiguration) ).build() } )
Kacheln mit adb bearbeiten
Mit adb können Kacheln während der Entwicklung programmatisch installiert, entfernt und aktiviert werden.
In den folgenden Befehlen ist ComponentName ein String, der aus dem Paketnamen und einer Klasse in diesem Paket besteht, z. B. com.example.wear.tiles/com.example.wear.tiles.PreviewTileService.
add-tile
Fügt eine von COMPONENT_NAME bereitgestellte Kachel hinzu und gibt den Index zurück.
adb shell am broadcast -a com.google.android.wearable.app.DEBUG_SURFACE --es operation add-tile --ecn component [COMPONENT_NAME]
Beispielausgabe:
Broadcast completed: result=1, data="Index=[0]"
Wenn eine Kachel bereits im Karussell vorhanden ist, wird sie entfernt und an derselben Stelle wieder eingefügt. Andernfalls wird er bei Index[0] eingefügt. Wenn das Karussell seine maximale Kapazität erreicht hat, wird die letzte Kachel entfernt, um Platz für die neue Kachel zu schaffen.
show-tile
Kachel am Index TILE_INDEX aktivieren.
adb shell am broadcast -a com.google.android.wearable.app.DEBUG_SYSUI --es operation show-tile --ei index [TILE_INDEX]
Beispielausgabe:
Broadcast completed: result=1
remove-tile
Entfernt alle Kachel-Instanzen im Karussell, die mit COMPONENT_NAME verknüpft sind.
adb shell am broadcast -a com.google.android.wearable.app.DEBUG_SURFACE --es operation remove-tile --ecn component [COMPONENT_NAME]
Beispielausgabe:
result=1, data="Tile(s) removed."
Rückgabewerte
- result=0: Kein Übertragungsempfänger hat auf diesen Befehl reagiert, wahrscheinlich weil die Wear OS-Version zu alt ist oder der Debug-Prozess nicht ausgeführt wird.
- result=1: Erfolgreich.
- result>1: Fehler.