Dieser Leitfaden enthält Schritte zu den Tools, die du zum Konfigurieren eines Zifferblatts mithilfe des Watch Face-Formats benötigst, einige Vorschläge zur Projektstruktur und eine detaillierte Anleitung zum Anwenden der Tools, um diese Struktur zu erstellen.
Voraussetzungen
Führen Sie die folgenden Schritte aus, um Ihre Entwicklungsumgebung für die Verwendung des Zifferblattformats vorzubereiten:
Installieren Sie das SDK für Android 14 (API-Level 34) oder höher. Wenn Ihr Zifferblatt keine für Version 2 spezifischen Funktionen oder Verhaltensweisen verwendet, können Sie stattdessen das SDK für Android 13 (API-Level 33) installieren.
Das SDK enthält auch andere erforderliche Tools, darunter
aapt2
undandroid.jar
.Alternativ können Sie Android Studio installieren, das diese Tools ebenfalls bietet.
Projektstruktur
Wenn Sie ein benutzerdefiniertes Zifferblatt erstellen, das das Watch Face-Format verwendet, muss das Android App-Bundle, das die Datei des benutzerdefinierten Zifferblatts enthält, vollständig vom Android App-Bundle getrennt sein, das die Logik Ihrer 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.
Set mit Zifferblättern erstellen
Führen Sie die Schritte in den folgenden Abschnitten aus, um ein Android-App-Bundle mit einer Zifferblattdatei zu erstellen.
Verwendung des Watch Face-Formats angeben
Fügen Sie der Manifestdatei (AndroidManifest.xml
) Ihrer neuen App ein Anwendungsattribut hinzu, das die Verwendung des Watch Face-Formats angibt. Sofern Sie den Zugriff auf Ihr Zifferblatt nicht auf Geräte mit Wear OS 5 oder höher beschränken möchten, erstellen Sie zwei verschiedene Zifferblatt-APKs, eine für Version 2 und eine für Version 1. Weitere Informationen zum Konfigurieren von Versionen Ihrer App
<?xml version="1.0" encoding="utf-8" standalone="no"?> <manifest ...> <!-- Use SDK version 34 for version 2 of WFF, and SDK version 33 for version 1 of WFF --> <uses-sdk android:minSdkVersion="34" android:targetSdkVersion="34" /> <!-- WFF is a resource-only format, so the hasCode attribute should be set to false to reflect this. --> <application android:label="@string/watch_face_name" android:hasCode="false" ...> <property android:name="com.google.wear.watchface.format.version" android:value="2" /> </application> </manifest>
Zifferblatt-Metadaten angeben
Erstellen Sie im Ressourcenverzeichnis res/xml
Ihrer App 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 stehen für die folgenden Details:
Preview
- Verweist auf das drawable-Element, 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
. Das Zifferblatt wird dann zusammen mit anderen Zifferblättern der Kategorie „Leere Kategorie“ unten in der Auswahl angezeigt.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
Ob das Zifferblatt bearbeitbar ist, d. h., ob es eine Einstellung oder mindestens eine nicht feste Zusatzfunktion hat. So können Sie die Schaltfläche Bearbeiten für das Zifferblatt in der Favoritenliste ein- oder ausblenden.
Standardwert: false
Name des Zifferblatts angeben
Legen Sie in der Manifestdatei Ihrer App (AndroidManifest.xml
) das Attribut android:label
auf den Namen Ihres Zifferblatts fest:
<application android:label="@string/watch_face_name" >
Unterstützung für Zifferblattformen angeben (optional)
Dieser Schritt ist nur erforderlich, wenn Sie ein anderes Verhalten für verschiedene Zifferblattgrößen unterstützen möchten. Sie können diesen Schritt überspringen, wenn das Zifferblatt mit der Größe der Smartwatch skaliert werden soll.
Deklarieren Sie im Ressourcenverzeichnis res/xml
Ihrer App die Zifferblattformen, die Sie in watch_face_shapes.xml
unterstützen:
<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
Erstellen Sie im Ressourcenverzeichnis res/raw
Ihrer App Dateien, die den file
-Attributwerten entsprechen, die Sie bei der Deklarierung der Unterstützung von Zifferblattformen verwendet haben.
Hier definieren Sie das Aussehen und das Verhalten des Zifferblatts für jede Zifferblattform. Wenn Sie keine Formdatei definiert haben, müssen Sie nur eine Datei erstellen: watchface.xml
.
Anhand des Beispiels auf dieser Seite wären das die Roh-XML-Dateien:
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" clipShape="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 angeben (optional)
Optional können Sie in der Manifestdatei Ihrer App einen beliebigen String deklarieren, mit dem Sie den Publisher des Zifferblatts oder den Namen und die Version des verwendeten Tools angeben können:
<application ...> ... <property android:name="com.google.wear.watchface.format.publisher" android:value="{toolName}-{toolVersion}" /> </application>
Richtigkeit und Leistung des Zifferblatts prüfen
Verwenden Sie während der Entwicklung und vor dem Hochladen bei Google Play die Validierungstools, um zu prüfen, ob Ihr Zifferblatt frei von Fehlern ist und die Empfehlungen zur Speichernutzung einhält.
- Weitere Informationen zum Optimieren der Arbeitsspeichernutzung und zum Prüfen der Arbeitsspeichernutzung vor der Veröffentlichung
- Weitere Informationen zur Verwendung des XML-Validators im Rahmen Ihres Entwicklungszyklus
App-Bundle für Zifferblätter erstellen
Verwenden Sie das Gradle-Build-System, um das Android App Bundle zu erstellen, das Ihr Zifferblatt enthält. Weitere Informationen zum Erstellen einer App mit Gradle
Das wird in den GitHub-Beispielen veranschaulicht.
Empfehlungen für dich
- Hinweis: Der Linktext wird angezeigt, wenn JavaScript deaktiviert ist.
- AAPT2
- Grundlagen von Jetpack Compose
- Erste Schritte mit CameraX