Kachel ausführen und Fehler beheben

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.

Screenshot mit rotem Pfeil, der auf „▷“ im Zwischenraum zeigt
Klicken Sie im Bundsteg auf „▷“.
Screenshot mit einem roten Pfeil, der auf das Drop-down-Menü für die Ausführungskonfiguration zeigt, und der rot umrandeten Konfigurationsoption „TestTileService“
Eine „Ausführungskonfiguration“ wird automatisch erstellt.

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

  1. Wählen Sie in der Titelleiste das Dreipunkt-Menü aus.

    Screenshot mit rotem Pfeil, der auf die Option „⋮“ (Dreipunkt-Menü) in der Titelleiste zeigt.
  2. Wählen Sie „Bearbeiten…“ aus.

    „Bearbeiten…“ ist die erste Option im Abschnitt „Konfiguration“ der Drop-down-Liste.
  3. Wählen Sie im angezeigten Dialogfeld „+“ aus, um eine Konfiguration hinzuzufügen.

    Screenshot mit rotem Pfeil, der auf das Pluszeichen zeigt.
  4. Wählen Sie „Wear OS-Tile“ als Typ der neuen Konfiguration aus.

    Screenshot mit rotem Pfeil, der auf die Konfigurationsoption „Wear OS-Tile“ zeigt.
  5. Geben Sie einen Namen für die Konfiguration ein und wählen Sie das entsprechende Modul und die entsprechende Kachel aus.

    Screenshot mit drei roten Pfeilen, die auf Bereiche des Dialogfensters zeigen.
  6. 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.

Die Gruppennamen im Vorschaubereich entsprechen dem Gruppennamen in der Vorschauanmerkung.
Vorschau 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 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.