Kachel ausführen und Fehler beheben

Ansichten 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 Kachelnentwicklung 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ühren Sie dann dieselben Schritte wie normale Nutzer aus, um die Kachel manuell dem Kachelkarussell hinzuzufügen.

Während der aktiven Entwicklung ist es möglicherweise einfacher und schneller, die Funktion „Wear OS-Kachel“ – Ausführungs-/Debug-Konfiguration in Android Studio zu verwenden. Bei dieser Methode wird Ihre Kachel automatisch bereitgestellt und aktiviert, sodass Sie sofort interagieren können, ohne zusätzliche manuelle Schritte ausführen zu müssen.

Konfiguration automatisch erstellen

Am einfachsten können Sie eine Kachel mit dem Symbol „Dienst ausführen“ im Bereich für die Ränder bereitstellen und ausführen. Dadurch wird automatisch eine Ausführungskonfiguration erstellt, falls noch keine vorhanden ist. Weitere Informationen finden Sie unter Wear OS-Ausführungs-/Debug-Konfigurationen.

Screenshot mit rotem Pfeil, der auf „▷“ im Spaltenabstand zeigt
Klicken Sie im Bereich „Gutter“ auf ▷.
Screenshot mit einem roten Pfeil, der auf das Drop-down-Menü „Ausführungskonfiguration“ zeigt, und der rot umrandeten Konfigurationsoption „TestTileService“
Es wird automatisch eine „Ausführungskonfiguration“ erstellt.

Konfiguration manuell erstellen

Wenn die automatische Konfiguration nicht funktioniert oder Sie mehr Kontrolle über das Ergebnis haben möchten, folgen Sie der Anleitung unten. Die Screenshots stammen aus Android Studio Meerkat (2024.3.1).

  1. Wählen Sie in der Titelleiste die Option „⋮“ (Dreistrich-Menü) aus.

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

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

    Screenshot mit rotem Pfeil auf „+“
  4. Wählen Sie „Wear OS-Kachel“ als Typ der neuen Konfiguration aus.

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

    Screenshot mit drei roten Pfeilen, die auf Bereiche des Dialogfelds zeigen
  6. Tippen Sie auf „OK“. Ihre Konfiguration wird in der Titelleiste angezeigt. Tippen Sie auf die Schaltfläche „▷“ (Ausführen). Die Kachel wird bereitgestellt und aktiviert.

Vorschaukacheln in Android Studio

Ab dem Feature Drop von Android Studio Koala können Sie sich Snapshots der Ansichten Ihrer Wear OS-App ansehen. Dieses Steuerfeld ist besonders nützlich, wenn sich das Aussehen der Kachel aufgrund von Bedingungen ändert, z. B. wenn unterschiedliche Inhalte je nach Displaygröße des Geräts oder Halbzeit bei einem Sportereignis angezeigt werden.

Die Gruppennamen im Vorschaubereich stimmen mit dem Gruppennamen in der Vorschauanmerkung überein.
Vorschaubereich für Ansichten in Android Studio

Abhängigkeiten hinzufügen

Fügen Sie der Datei build.gradle.kts oder build.gradle Ihrer App die folgenden Abhängigkeiten hinzu:

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

Kachelvorschauen konfigurieren

Wenn Sie eine Vorschau des Aussehens Ihrer Kachel auf verschiedenen Wear OS-Displaygrößen sehen möchten, fügen Sie die Anmerkung @Preview hinzu und geben Sie den Parameter device ein. Diese @Preview-Anmerkung stammt aus einem anderen Paket als das, das Sie für kombinierbare 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 Ihre Kachel Android-Ressourcen verwendet, müssen Sie sie im onTileResourceRequest-Parameter 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 ->
        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()

Bestimmte Werte aus Plattformdatenquellen anzeigen

Wenn für Ihre Kachel Plattformdaten wie Herzfrequenz, Kalorien, Strecke und Schritte verwendet werden, werden für diese Daten Standardwerte angezeigt.

Wenn Sie einen bestimmten Wert anzeigen möchten, legen Sie den Parameter platformDataValues beim Erstellen des TilePreviewData-Objekts fest, wie im folgenden Code-Snippet gezeigt:

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

Kacheln mit adb bearbeiten

Mit adb können Sie während der Entwicklung Kacheln programmatisch installieren, entfernen und aktivieren.

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 sich eine Kachel bereits im Karussell befindet, wird sie entfernt und an derselben Stelle wieder eingefügt. Andernfalls wird er an Index[0] eingefügt. Wenn das Karussell voll ist, wird die letzte Kachel entfernt, um Platz für die neue Kachel zu schaffen.

show-tile

Kachel an 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

Alle Kacheln im Karussell, die mit COMPONENT_NAME verknüpft sind, werden entfernt.

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 Broadcast-Empfänger hat auf diesen Befehl reagiert. Das liegt höchstwahrscheinlich daran, dass die Wear OS-Version zu alt ist oder der Debug-Prozess nicht ausgeführt wird.
  • result=1: Erfolg.
  • result>1: Fehler.