Dieser Leitfaden enthält Schritte zu den Tools, die du zum Konfigurieren eines Zifferblatts mit dem Watch Face-Format benötigst, einige Vorschläge zur Projektstruktur und eine detaillierte Anleitung zur Anwendung der Tools, um diese Struktur zu erstellen.
Voraussetzungen
So bereiten Sie die Entwicklungsumgebung auf die Verwendung des Watch Face-Formats vor:
Installieren Sie das SDK für Android 14 (API-Level 34) oder höher. Wenn dein Zifferblatt nicht auf Funktionen oder Verhalten von Version 2 angewiesen ist, kannst du stattdessen das SDK für Android 13 (API-Level 33) installieren.
Das SDK enthält weitere erforderliche Tools, einschließlich
aapt2
undandroid.jar
.Alternativ kannst du Android Studio installieren, über das auch diese Tools bereitgestellt werden.
Projektstruktur
Wenn du ein benutzerdefiniertes Zifferblatt erstellst, für das das Watch Face-Format verwendet wird, muss das Android App Bundle, das die Datei für das benutzerdefinierte Zifferblatt enthält, vollständig getrennt von dem Android App Bundle sein, das die Logik deiner Wear OS-App enthält. In einigen App-Shops, z. B. bei Google Play, kannst du kein Android App Bundle hochladen, das sowohl Wear OS-Logik als auch ein benutzerdefiniertes Zifferblatt enthält.
Zifferblattset erstellen
Führe die in den folgenden Abschnitten beschriebenen Schritte aus, um ein Android App Bundle mit einer Zifferblattdatei zu erstellen.
Die Verwendung des Watch Face-Formats erklären
Fügen Sie in der Manifestdatei AndroidManifest.xml
Ihrer neuen App eine Anwendungseigenschaft hinzu, die Ihre Verwendung des Watch Face-Formats angibt. Wenn du den Zugriff auf das Zifferblatt nicht für Geräte mit Wear OS 5 oder höher einschränken möchtest, solltest du zwei verschiedene Zifferblatt-APKs erstellen: eine, die Version 2 unterstützt, und eine, die Version 1 unterstützt. Weitere Informationen zur Konfiguration von Versionen Ihrer App
<?xml version="1.0" encoding="utf-8" standalone="no"?> <manifest ...> <uses-sdk android:minSdkVersion="34" android:targetSdkVersion="34" /> <application ...> <property android:name="com.google.wear.watchface.format.version" android:value="2" /> </application> </manifest>
<?xml version="1.0" encoding="utf-8" standalone="no"?> <manifest ...> <uses-sdk android:minSdkVersion="33" android:targetSdkVersion="33" /> <application ...> <property android:name="com.google.wear.watchface.format.version" android:value="1" /> </application> </manifest>
Zifferblatt-Metadaten angeben
Erstellen Sie im Ressourcenverzeichnis res/xml
Ihrer Anwendung eine neue Datei mit dem Namen watch_face_info.xml
. Hier definieren Sie die Metadaten Ihres Zifferblatts:
<?xml version="1.0" encoding="utf-8"?>
<WatchFaceInfo>
<!-- Only "Preview" is required. -->
<Preview value="@drawable/watch_face_preview" />
<Category value="CATEGORY_EMPTY" />
<AvailableInRetail value="true" />
<MultipleInstancesAllowed value="true" />
<Editable value="true" />
</WatchFaceInfo>
Die Felder in dieser Datei stellen die folgenden Details dar:
Preview
- Referenziert auf das Drawable, das ein Vorschaubild des Zifferblatts enthält.
Category
Definiert die Kategorie des Zifferblatts. Muss ein String oder ein Verweis auf einen String sein, z. B.
@string/ref_name
. Jeder Gerätehersteller kann seine eigenen Zifferblattkategorien definieren.Standardwert:
empty_category_meta
, der dieses Zifferblatt mit anderen Zifferblättern „leere Kategorie“ am unteren Rand der Zifferblattauswahl gruppiert.AvailableInRetail
Gibt an, ob das Zifferblatt im Demomodus für den Einzelhandel des Geräts verfügbar ist. Muss ein boolescher Wert oder ein Verweis auf einen booleschen Wert wie
@bool/watch_face_available_in_retail
sein.Standardwert:
false
MultipleInstancesAllowed
Ob das Zifferblatt mehrere Favoriten haben kann. Muss ein boolescher Wert oder ein Verweis auf einen booleschen Wert wie
@bool/watch_face_multiple_instances_allowed
sein.Standardwert:
false
Editable
Gibt an, ob das Zifferblatt bearbeitbar ist. Das bedeutet, dass es eine Einstellung oder mindestens eine nicht fixierte Zusatzfunktion hat. Damit wird die Schaltfläche Bearbeiten für das Zifferblatt in der Favoritenliste ein- oder ausgeblendet.
Standardwert: false
Zifferblattname angeben
Lege in der Manifestdatei (AndroidManifest.xml
) deiner App das Attribut android:label
auf den Namen deines Zifferblatts fest:
<application android:label="@string/watch_face_name" >
Unterstützung für Zifferblattformen deklarieren (optional)
Dieser Schritt ist nur erforderlich, wenn du unterschiedliches Verhalten für verschiedene Zifferblattgrößen unterstützen möchtest. Sie können diesen Schritt überspringen, wenn das Zifferblatt an die Größe der Uhr angepasst werden soll.
Deklariere im Ressourcenverzeichnis res/xml
deiner App die Zifferblattformen, die du in watch_face_shapes.xml
unterstützt:
<WatchFaces>
<!-- The default shape is "CIRCLE". -->
<WatchFace shape="CIRCLE" width="300" height="300"
file="@raw/watchface"/>
<WatchFace shape="CIRCLE" width="450" height="450"
file="@raw/watchface_large_circle"/>
<WatchFace shape="RECTANGLE" width="380" height="400"
file="@raw/watchface_rectangle"/>
</WatchFaces>
Zifferblattdetails angeben
Erstelle im res/raw
-Ressourcenverzeichnis deiner App Dateien, die den file
-Attributwerten entsprechen, die verwendet werden, wenn du die Unterstützung für Zifferblattformen deklarierst.
Hier definieren Sie das Aussehen und das Verhalten des Zifferblatts für jede Zifferblattform. Wenn Sie keine Shape-Datei definiert haben, müssen Sie nur eine Datei erstellen: watchface.xml
.
Im Beispiel auf dieser Seite wären die XML-Rohdateien wie folgt:
res/raw/watchface.xml
res/raw/watchface_large_circle.xml
res/raw/watchface_rectangle.xml
Das Stammelement ist immer WatchFace
:
<WatchFace width="450" height="450" shape="CIRCLE">
<!-- Remainder of your Watch Face Format definition here. -->
<!-- If this file defines a watch face for a circular device shape, place
resources used in this file in the "/res/drawable-nodpi" directory. -->
<!-- If this file defines a watch face for a rectangular or other
non-circular shape, place resources ued in this file in the
"/res/drawable-notround-nodpi" directory. -->
</WatchFace>
Zifferblatt-Publisher identifizieren (optional)
Deklarieren Sie optional in der Manifestdatei Ihrer App einen beliebigen String, mit dem Sie den Publisher des Zifferblatts oder den Namen und die Version des Tools identifizieren können, das Sie verwenden:
<application ...> ... <property android:name="com.google.wear.watchface.format.publisher" android:value="{toolName}-{toolVersion}" /> </application>
Richtigkeit und Leistung des Zifferblatts prüfen
Verwende während der Entwicklung und vor dem Hochladen bei Google Play die Validator-Tools, um zu prüfen, ob dein Zifferblatt frei von Fehlern und den Empfehlungen zur Speichernutzung entspricht.
- Weitere Informationen zum Optimieren der Arbeitsspeichernutzung und zum Prüfen der Arbeitsspeichernutzung in Vorbereitung auf die Veröffentlichung
- Weitere Informationen zur Verwendung der XML-Bestätigung im Rahmen Ihres Entwicklungszyklus
App-Bundle für Zifferblätter erstellen
Verwende das Gradle-Build-System, um das Android App Bundle mit deinem Zifferblatt zu erstellen. Weitere Informationen zum Erstellen einer App mit Gradle
Dies wird in den GitHub-Beispielen veranschaulicht.
Empfehlungen für dich
- Hinweis: Der Linktext wird angezeigt, wenn JavaScript deaktiviert ist.
- AAPT2
- Jetpack Compose-Grundlagen
- Erste Schritte mit CameraX