На этой странице описывается, как отлаживать циферблат, созданный с помощью Watch Face Format. Также объясняется, как проверять XML вашего циферблата и определять ошибки времени выполнения.
Проверьте наличие действительных документов формата циферблата часов
Поскольку формат циферблата требует хорошо структурированного XML, соответствующего опубликованному XSD, вы можете подтвердить, является ли ваш циферблат допустимым, и выявить ошибки.
Используйте инструмент проверки XML для выявления проблем в процессе сборки. Этот инструмент интегрирован в процесс сборки в примерах циферблатов .
Если вы создаете инструмент для создания циферблатов, убедитесь, что инструмент выполняет проверку XML с использованием XSD в вашем инструменте.
Пример запуска инструмента проверки вручную:
java -jar wff-validator.jar 2 ~/MyWatchface/res/raw/watchface.xml
Если в документе watchface.xml
есть ошибка, вы увидите сообщение об ошибке, например, в этом случае, когда height
было неправильно написано как 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
Валидатор определяет местоположение элемента, который необходимо исправить, — строка 41, столбец 53.
Узнайте, как получить инструмент проверки XML и подготовить его к использованию.
Выявление ошибок во время выполнения
Для выявления всех потенциальных проблем недостаточно просто убедиться в корректности XML.
Например, ваш XML может ссылаться на шрифт или ресурс для рисования, который не существует, или выражение может подразумевать получение числового значения, но вместо этого возвращает строку.
Для решения подобных проблем использование logcat в Android Studio или через ADB является хорошим способом получения более подробной информации.
Фильтруйте по "runtime", и вы сможете увидеть как фатальные, так и нефатальные проблемы, влияющие на циферблат. Например, здесь, при указании ресурса для HourHand
, который не существует:
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
Или вот здесь, при попытке использовать цветовую тему с опечаткой:
W color has wrong type of source:CONFIGURATION.myTheeeme.2[OBJECT:]
E Cannot parse theme color. Using theme color WHITE