Ce guide décrit les outils dont vous avez besoin pour configurer un cadran à l'aide du format de cadran, ainsi que des suggestions sur la structure de projet et un guide par étapes sur les outils à appliquer pour créer cette structure.
Conditions préalables
Pour préparer votre environnement de développement à l'utilisation du format de cadran, procédez comme suit :
Installez le SDK pour Android 14 (niveau d'API 34) ou version ultérieure. Si votre cadran ne s'appuie pas sur des fonctionnalités ou un comportement spécifiques à la version 2, vous pouvez installer le SDK pour Android 13 (niveau d'API 33).
Le SDK contient d'autres outils obligatoires, y compris
aapt2
etandroid.jar
.Vous pouvez également installer Android Studio, qui peut également fournir ces outils.
Structure du projet
Lorsque vous créez un cadran personnalisé qui utilise le format de cadran, l'Android App Bundle qui inclut le fichier de cadran personnalisé doit être complètement distinct de l'Android App Bundle qui contient la logique de votre application Wear OS. Certaines plates-formes de téléchargement d'applications, y compris Google Play, vous empêchent d'importer un Android App Bundle qui inclut à la fois la logique Wear OS et un cadran personnalisé.
Créer un bundle de cadrans
Pour créer un Android App Bundle comprenant un fichier de cadran, suivez les étapes décrites dans les sections suivantes.
Déclarer l'utilisation du format de cadran
Dans le fichier manifeste de votre nouvelle application (AndroidManifest.xml
), ajoutez une propriété d'application indiquant votre utilisation du format de cadran. Sauf si vous souhaitez limiter l'accès à votre cadran pour les appareils exécutant Wear OS 5 ou version ultérieure, créez deux APK de cadran différents, l'un compatible avec la version 2 et l'autre avec la version 1. Découvrez comment configurer les versions de votre application.
<?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>
Déclarer des métadonnées de cadran
Dans le répertoire de ressources res/xml
de votre application, créez un fichier nommé watch_face_info.xml
. C'est là que vous définirez les métadonnées du cadran :
<?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>
Les champs de ce fichier représentent les informations suivantes :
Preview
- Renvoie le drawable qui contient une image d'aperçu du cadran.
Category
Définit la catégorie du cadran. Il doit s'agir d'une chaîne ou d'une référence à une chaîne (par exemple,
@string/ref_name
). Chaque fabricant d'appareils peut définir son propre ensemble de catégories de cadrans.Valeur par défaut :
empty_category_meta
, qui regroupe ce cadran avec d'autres cadrans de "catégorie vide" en bas de la vue de l'outil de sélection de cadran.AvailableInRetail
Indique si le cadran est disponible en mode démonstration en magasin sur l'appareil. Doit être une valeur booléenne ou une référence à une valeur booléenne comme
@bool/watch_face_available_in_retail
.Valeur par défaut :
false
MultipleInstancesAllowed
Indique si le cadran peut avoir plusieurs favoris. Doit être une valeur booléenne ou une référence à une valeur booléenne comme
@bool/watch_face_multiple_instances_allowed
.Valeur par défaut :
false
Editable
Indique si le cadran est modifiable, ce qui signifie qu'il comporte un paramètre ou au moins une complication non fixe. Cela permet d'afficher ou de masquer le bouton Edit (Modifier) du cadran dans la liste des favoris.
Valeur par défaut : false
Déclarer le nom du cadran
Dans le fichier manifeste de votre application (AndroidManifest.xml
), définissez l'attribut android:label
sur le nom de votre cadran :
<application android:label="@string/watch_face_name" >
Déclarer la prise en charge des formes de cadran (facultatif)
Cette étape n'est nécessaire que si vous souhaitez prendre en charge un comportement différent pour différentes tailles de cadrans. Vous pouvez ignorer cette étape si vous acceptez que le cadran soit mis à l'échelle en fonction de la taille de la montre.
Dans le répertoire de ressources res/xml
de votre application, déclarez l'ensemble des formes de cadran compatibles dans watch_face_shapes.xml
:
<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>
Déclarer les détails du cadran
Dans le répertoire de ressources res/raw
de votre application, créez les fichiers correspondant aux valeurs d'attribut file
utilisées lorsque vous déclarez la prise en charge des formes de cadran.
C'est là que vous définirez l'apparence et le comportement de chaque cadran. Si vous n'avez pas défini de fichier de formes, vous n'avez besoin de créer qu'un seul fichier, watchface.xml
.
En reprenant l'exemple de cette page, les fichiers XML bruts seraient :
res/raw/watchface.xml
res/raw/watchface_large_circle.xml
res/raw/watchface_rectangle.xml
L'élément racine est toujours 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>
Identifier l'éditeur du cadran (facultatif)
Dans le fichier manifeste de votre application, vous pouvez également déclarer une chaîne arbitraire que vous pouvez utiliser pour identifier l'éditeur du cadran, ou le nom et la version de l'outil que vous utilisez :
<application ...> ... <property android:name="com.google.wear.watchface.format.publisher" android:value="{toolName}-{toolVersion}" /> </application>
Vérifier l'exactitude et les performances de votre cadran
Pendant le développement et avant d'importer votre cadran sur Google Play, utilisez les outils de validation pour vérifier qu'il ne comporte aucune erreur et qu'il respecte les recommandations d'utilisation de la mémoire.
- Découvrez comment optimiser l'utilisation de la mémoire et vérifier l'utilisation de la mémoire en vue de la publication.
- Découvrez comment utiliser le validateur XML dans le cadre de votre cycle de développement.
Créer l'app bundle de votre cadran
Pour compiler l'Android App Bundle qui contient votre cadran, utilisez le système de compilation Gradle. Découvrez comment créer une application à l'aide de Gradle.
Cela est illustré dans les exemples GitHub.
Recommandations personnalisées
- Remarque : Le texte du lien s'affiche lorsque JavaScript est désactivé
- AAPT2
- Principes de base de Jetpack Compose
- Premiers pas avec CameraX