اشکال زدایی صفحه ساعت

این صفحه نحوه اشکال زدایی صفحه ساعت ساخته شده با فرمت Watch Face را شرح می دهد. همچنین نحوه اعتبارسنجی XML صفحه ساعت خود و شناسایی خطاهای زمان اجرا را توضیح می دهد.

اسناد معتبر با فرمت Watch Face را بررسی کنید

از آنجایی که فرمت Watch Face به 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، راه خوبی برای دریافت اطلاعات دقیق تر است.

در «زمان اجرا» فیلتر کنید و می‌توانید مشکلات کشنده و غیرکشنده را که بر صفحه ساعت تأثیر می‌گذارند، ببینید. به عنوان مثال، در اینجا، هنگام تعیین منبعی برای 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