Cette page explique comment déboguer un cadran créé avec le format de cadran. Il explique également comment valider le fichier XML de votre cadran et identifier les erreurs d'exécution.
Vérifier la validité des documents de format de cadran
Comme le format de cadran nécessite un code XML bien structuré conforme à un schéma XSD publié, vous pouvez vérifier si votre cadran est valide ou non, et identifier les erreurs.
Utilisez l'outil de validation XML pour identifier les problèmes lors du processus de compilation. Cet outil est intégré au processus de compilation dans les exemples de cadrans.
Si vous créez un outil de création de cadrans, assurez-vous qu'il effectue une validation XML à l'aide du fichier XSD.
Exemple d'exécution manuelle de l'outil de validation:
java -jar wff-validator.jar 2 ~/MyWatchface/res/raw/watchface.xml
Si votre document watchface.xml
contient une erreur, un message s'affiche, comme dans cet exemple où height
a été mal orthographié en hight
:
INFO: DWF Validation Application Version 1.0. Maximum Supported Format Version #2
SEVERE: [Line 41:Column 53]: cvc-complex-type.3.2.2: Attribute 'hight' is not allowed to appear in element 'PartDraw'.
INFO: ❌ FAILED : watchface.xml is NOT valid against watch face format version #1
Le validateur identifie l'emplacement (ligne 41, colonne 53) de l'élément à corriger.
Découvrez comment obtenir l'outil de validation XML et le compiler pour l'utiliser.
Identifier les erreurs d'exécution
S'assurer que le fichier XML lui-même est valide ne suffit pas à identifier tous les problèmes potentiels.
Par exemple, votre fichier XML peut faire référence à une police ou à une ressource drawable qui n'existe pas, ou une expression peut être censée produire une valeur numérique, mais elle génère une chaîne.
Pour ces types de problèmes, l'utilisation de Logcat, que ce soit dans Android Studio ou via ADB, est un bon moyen d'obtenir des informations plus détaillées.
Filtrez sur "runtime" (temps d'exécution) pour afficher les problèmes fatals et non fatals affectant le cadran. Par exemple, ici, lorsque vous spécifiez une ressource pour HourHand
qui n'existe pas:
E Invalid resource ID 0x00000000.
E FATAL EXCEPTION: main
Process: com.google.wear.watchface.runtime, PID: 29115 android.content.res.Resources$NotFoundException: Resource ID #0x0
Ou ici, lorsque vous essayez d'utiliser un thème de couleurs contenant une faute de frappe:
W color has wrong type of source:CONFIGURATION.myTheeeme.2[OBJECT:]
E Cannot parse theme color. Using theme color WHITE