หน้านี้จะอธิบายวิธีแก้ไขข้อบกพร่องของหน้าปัดที่สร้างขึ้นด้วย Watch Face Format รวมถึงอธิบายวิธีตรวจสอบความถูกต้องของ XML ของหน้าปัดและระบุข้อผิดพลาดรันไทม์
ตรวจสอบเอกสาร Watch Face Format ที่ถูกต้อง
เนื่องจากรูปแบบหน้าปัดต้องใช้ 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