Men-debug tampilan jam

Halaman ini menjelaskan cara men-debug tampilan jam yang dibuat dengan Format Tampilan Jam. Panduan ini juga menjelaskan cara memvalidasi XML tampilan jam dan mengidentifikasi error runtime.

Memeriksa dokumen Format Tampilan Jam yang valid

Karena Format Tampilan Jam memerlukan XML yang terstruktur dengan baik dan sesuai dengan XSD yang dipublikasikan, Anda dapat mengonfirmasi apakah tampilan jam Anda valid atau tidak, dan mengidentifikasi error.

Gunakan alat validasi XML untuk mengidentifikasi masalah selama proses build. Alat ini terintegrasi ke dalam proses build di contoh tampilan jam.

Jika Anda mem-build alat untuk membuat tampilan jam, pastikan alat tersebut melakukan validasi XML menggunakan XSD di alat Anda.

Contoh menjalankan alat validasi secara manual:

java -jar wff-validator.jar 2 ~/MyWatchface/res/raw/watchface.xml

Jika ada error dalam dokumen watchface.xml, Anda akan melihat error, seperti dalam kasus ini, saat height salah eja menjadi 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

Validator mengidentifikasi lokasi—baris 41, kolom 53—elemen yang perlu dikoreksi.

Pelajari cara mendapatkan alat validator XML dan mem-build-nya untuk digunakan.

Mengidentifikasi error runtime

Memastikan XML itu sendiri valid tidak cukup untuk mendeteksi semua potensi masalah.

Misalnya, XML Anda mungkin mereferensikan font atau resource drawable yang tidak ada, atau ekspresi mungkin diharapkan menghasilkan nilai numerik, tetapi menghasilkan string.

Untuk jenis masalah ini, menggunakan logcat, baik di Android Studio maupun melalui ADB, adalah cara yang baik untuk mendapatkan informasi yang lebih mendetail.

Filter "runtime" dan Anda akan dapat melihat masalah fatal dan non-fatal yang memengaruhi tampilan jam. Misalnya, di sini, saat menentukan resource untuk HourHand yang tidak ada:

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

Atau di sini, saat mencoba menggunakan tema warna dengan kesalahan ketik:

W  color has wrong type of source:CONFIGURATION.myTheeeme.2[OBJECT:]
E  Cannot parse theme color. Using theme color WHITE