Ein Zifferblatt ist ein Dienst die in einer Wear OS-App verpackt sind. Wenn ein Nutzer ein verfügbares Zifferblatt auswählt, wird das Zifferblatt Callback-Methoden des Dienstes aufgerufen.
Wenn ein Nutzer eine Wear-App mit Zifferblättern installiert, wird die Smartwatch Zifferblätter sind auf der Uhr über die Zifferblattauswahl verfügbar. Alternativ kann der Nutzer ein Zifferblatt aus einer Companion-App auf dem gekoppelten Smartphone auswählen.
Auf dieser Seite wird beschrieben, wie du ein Wear OS-Projekt so konfigurierst, dass Zifferblätter enthalten um ein Zifferblatt zu implementieren.
Zifferblatt-Projekt erstellen
Hinweis:Wir empfehlen die Verwendung von Android Studio für die Wear OS-Entwicklung, da Sie umfasst die Projekteinrichtung, die Einbindung von Bibliotheken und die Paketerstellung.
Führen Sie die folgenden Schritte aus, um Projekt erstellen in Android Studio für Ihr Zifferblatt:
- Klicken Sie auf Datei > Neu > Neues Projekt.
- Wählen Sie im Fenster Projektvorlage auswählen die Option den Tab Wear und wählen Sie Zifferblatt und klicken Sie in der Liste der Optionen auf Weiter.
- Akzeptieren Sie die Änderungen im Fenster Projekt konfigurieren. und klicken Sie auf Fertigstellen.
Android Studio erstellt ein Projekt mit einem app
-Modul für den Zifferblattdienst.
Abhängigkeiten
Android Studio fügt die erforderlichen Abhängigkeiten automatisch in build.gradle
hinzu
Dateien. In den Abhängigkeiten ist Folgendes enthalten:
AndroidX
Zifferblattbibliothek sieh dir die
<ph type="x-smartling-placeholder"></ph>
Codebeispiel auf GitHub finden Sie weitere Informationen zu dieser Bibliothek.
API-Referenz der Wearable-Supportbibliothek
Die Referenzdokumentation enthält detaillierte Informationen zu den Klassen, die Sie für die Zifferblätter implementieren. In der API-Referenz für die Wearable-Supportbibliothek.
Erklärung von Berechtigungen
Für Zifferblätter ist die Berechtigung WAKE_LOCK
erforderlich.
Füge den Manifestdateien der Wear OS-App die folgende Berechtigung hinzu:
und die mobile App unter dem Element manifest
:
<manifest ...> <uses-permission android:name="android.permission.WAKE_LOCK" /> <!-- Required for complications to receive complication data and open the provider chooser. --> <uses-permission android:name="com.google.android.wearable.permission.RECEIVE_COMPLICATION_DATA"/> ... </manifest>
Direct-Boot-Unterstützung
Sie müssen Ihr Zifferblatt vor dem Entsperren durch den Nutzer verfügbar machen. Gehen Sie dazu so vor: Direct Boot-Anleitung:
- Setzen Sie das Attribut
android:directBootAware
für Ihren Dienst intrue
in deinem Manifest. - Auf deinem Zifferblatt sollten Informationen in gespeichert werden Verschlüsselter Speicher Ihres Geräts.
Dienst- und Callback-Methoden implementieren
Zifferblätter in Wear OS sind als
WatchFaceService
Für die Implementierung von WatchFaceService
müssen drei Objekte erstellt werden: ein
UserStyleSchema
, ComplicationSlotsManager
und
WatchFace
.
Diese drei Objekte werden angegeben, indem drei abstrakte Methoden aus
WatchFaceService
, wie im folgenden Beispiel gezeigt:
Kotlin
class CustomWatchFaceService : WatchFaceService() { /** * The specification of settings the watch face supports. * This is similar to a database schema. */ override fun createUserStyleSchema(): UserStyleSchema = // ... /** * The complication slot configuration for the watchface. */ override fun createComplicationSlotsManager( currentUserStyleRepository: CurrentUserStyleRepository ): ComplicationSlotsManager = // ... /** * The watch face itself, which includes the renderer for drawing. */ override suspend fun createWatchFace( surfaceHolder: SurfaceHolder, watchState: WatchState, complicationSlotsManager: ComplicationSlotsManager, currentUserStyleRepository: CurrentUserStyleRepository ): WatchFace = // ... }
Zifferblattdienst registrieren
Nachdem du den Zifferblattdienst implementiert hast, kannst du die Implementierung im Manifest registrieren der Wearable-App. Wenn Nutzer diese App installieren, verwendet das System die Informationen zu den Dienst, um das Zifferblatt im verfügbar zu machen. Wear OS-Companion-App und in der Zifferblattauswahl auf dem Wearable-Gerät
Das folgende Beispiel zeigt, wie die Implementierung eines Zifferblatts registriert wird.
im Bereich
<application>
-Element:
<service android:name=".AnalogWatchFaceService" android:label="@string/analog_name" android:permission="android.permission.BIND_WALLPAPER" > <meta-data android:name="android.service.wallpaper" android:resource="@xml/watch_face" /> <meta-data android:name="com.google.android.wearable.watchface.preview_circular" android:resource="@drawable/preview_analog_circular" /> <intent-filter> <action android:name="android.service.wallpaper.WallpaperService" /> <category android:name= "com.google.android.wearable.watchface.category.WATCH_FACE" /> </intent-filter> </service>
Die Companion-App „Wear OS by Google“ und die Zifferblattauswahl auf dem Wearable-Gerät verwenden die Vorabversion
durch den Metadateneintrag com.google.android.wearable.watchface.preview_circular
definiertes Bild, wenn
Nutzern werden alle auf dem Gerät installierten Zifferblätter angezeigt. Um dieses Drawable zu erhalten,
das Zifferblatt auf Ihrem Wear OS-Gerät oder in einer Emulatorinstanz ausführen und
einen Screenshot erstellen. Auf Wearable
Geräte mit HD-Bildschirmen, ist das Vorschaubild normalerweise 320 x 320 Pixel groß.
Der Metadateneintrag android.service.wallpaper
gibt die
Ressourcendatei watch_face.xml
, die ein wallpaper
enthält
-Element, wie im folgenden Beispiel gezeigt:
<?xml version="1.0" encoding="UTF-8"?> <wallpaper xmlns:android="http://schemas.android.com/apk/res/android" />
Deine Wearable-App kann mehr als ein Zifferblatt enthalten. Sie müssen dem Feld Manifestdatei der Wearable-App für jede Zifferblattimplementierung.
Weitere Informationen
Weitere Informationen finden Sie in den folgenden verwandten Ressourcen:
- <ph type="x-smartling-placeholder"></ph> WatchFaceKotlin-Beispiel