Detail adalah setiap fitur dalam tampilan jam yang ditampilkan selain waktu. Misalnya, indikator baterai termasuk detail. Complications API digunakan baik untuk tampilan jam maupun aplikasi penyedia data.
Lihat resource terkait berikut:
Bagian selebihnya dari dokumen ini menjelaskan penyedia data, tampilan jam, dan jenis detail.
Penyedia data detail
Aplikasi yang menyediakan data (seperti level baterai, cuaca, atau data penghitung langkah) untuk detail pada tampilan jam disebut "penyedia data detail". Penyedia data ini memberikan data mentah dan tidak bertanggung jawab mengontrol bagaimana data tersebut ditampilkan pada tampilan jam. Untuk menulis aplikasi yang menyediakan data pada tampilan jam, lihat Mengekspos data ke detail.
Seperti yang ditunjukkan pada diagram di bawah, Wear OS by Google memediasi alur data dari penyedia ke tampilan jam.

Detail dalam tampilan jam
Tampilan jam menerima data dari penyedia data detail, yang memungkinkan tampilan jam menyertakan detail tanpa memerlukan kode untuk mendapatkan data yang mendasarinya. Tampilan jam mempertahankan kontrol atas bagaimana data ditampilkan, sehingga dapat mengintegrasikan data secara natural dengan desainnya; lihat mendesain pola untuk detail.
Untuk mempelajari cara menambahkan detail ke tampilan jam, lihat Menambahkan Detail ke Tampilan Jam.
Jenis detail
Jenis detail menentukan jenis data yang dapat ditampilkan pada detail atau disediakan oleh penyedia data. Misalnya, jenis SHORT_TEXT digunakan jika sebagian besar data terdiri dari string pendek. Objek ComplicationData akan selalu memiliki jenis detail tunggal yang menetapkan kolom dan opsional. Biasanya, kolom wajib menunjukkan bagian utama data; sebagian besar jenis mengambil namanya dari nama kolom wajib.
Penyedia data menggunakan jenis detail ini secara berbeda dengan tampilan jam:
- Penyedia data memilih jenis data detail yang akan disediakan (termasuk kolom opsional mana dari jenis tersebut yang akan disediakan) dan berapa banyak jenis berbeda yang dapat didukung. Misalnya, penyedia penghitung langkah mungkin mendukung jenis RANGED_VALUE dan SHORT_TEXT, sedangkan penyedia "rapat berikutnya" mungkin mendukung jenis SHORT_TEXT dan LONG_TEXT.
- Anda dapat memilih banyaknya detail yang disertakan dalam tampilan jam dan jenis detail yang didukung. Misalnya, detail tombol pada tampilan jam mungkin mendukung jenis SHORT_TEXT, ICON, dan RANGED_VALUE, sedangkan detail pengukur pada tampilan jam mungkin hanya mendukung jenis RANGED_VALUE.
Untuk mempelajari lebih lanjut berbagai jenis detail dan kolom yang didukung oleh setiap jenis, lihat Menggunakan dan Menguji Jenis Detail.
Ringkasan API
Berikut ini adalah ringkasan dari Complications API. API tersebut merupakan bagian dari Support Library Wearable; lihat Referensi API Wear.
-
ComplicationData
- Dapat dipaketkan (menggunakan Paket secara internal); tidak berubah
- Mewakili semua jenis data detail
- Menyertakan Builder untuk pembuatan instance
-
ComplicationDrawable
- Memungkinkan Anda merender seluruh detail pada kanvas
-
ComplicationHelperActivity
- Digunakan untuk meminta izin berikut:
com.google.android.wearable.permission.RECEIVE_COMPLICATION_DATA
- Digunakan sebagai pengganti
ProviderChooserIntent
untuk memulai pemilih dalam hampir semua kasus
- Digunakan untuk meminta izin berikut:
-
ComplicationManager
- Wrapper bagi layanan pengelola detail, untuk digunakan oleh penyedia
- Memungkinkan penyedia mengirimkan data detail ke sistem
-
ComplicationProviderService
- Memperluas
Service
dan memasukkan metode callback untuk merespons sistem detail - Semua metode callback dipanggil pada thread utama
- Memperluas
-
ComplicationText
- Digunakan untuk menyediakan nilai berbasis teks dalam objek
ComplicationData
. - Menyertakan opsi untuk nilai yang bergantung pada waktu, yang nilai teksnya bergantung pada waktu saat ini
- Digunakan untuk menyediakan nilai berbasis teks dalam objek
-
ProviderChooserIntent
- Class utilitas non-instantiable yang tidak umum dipakai; gunakan
ComplicationHelperActivity
sebagai gantinya
- Class utilitas non-instantiable yang tidak umum dipakai; gunakan
-
ProviderInfoRetriever
- Dapat digunakan (dengan aktivitas konfigurasi tampilan jam) untuk mengambil informasi penyedia data saat ini (aplikasi, nama penyedia, ikon) untuk semua detail yang termasuk dalam tampilan jam
-
ProviderUpdateRequester
- Dapat digunakan oleh aplikasi penyedia data untuk memicu panggilan ke
onComplicationUpdated
dalam layanan penyedianya, untuk mengaktifkan push update
- Dapat digunakan oleh aplikasi penyedia data untuk memicu panggilan ke
-
SystemProviders
- Mencantumkan daftar penyedia sistem yang dianggap "aman", karena penyedia tersebut hanya menyediakan informasi yang bisa didapat sendiri oleh tampilan jam
-
TextRenderer
- Mempermudah menggambar teks pada kanvas
Selain itu, class WatchFaceService.Engine
berisi metode-metode berikut:
-
setActiveComplications()
- Harus dipanggil oleh tampilan jam untuk memberi tahu objek
ComplicationManager
mengenai slot detail yang tersedia dan tipe yang didukung
- Harus dipanggil oleh tampilan jam untuk memberi tahu objek
-
onComplicationDataUpdate()
- Dipanggil oleh objek
ComplicationManager
untuk mengirim data detail ke tampilan jam
- Dipanggil oleh objek
-
setDefaultSystemComplicationProvider()
- Menetapkan penyedia sistem default untuk sebuah detail.
Metode ini memerlukan ID (sebagai integer) untuk penyedia sistem.
ID yang tersedia terdaftar di class
SystemProviders
.
- Menetapkan penyedia sistem default untuk sebuah detail.
Metode ini memerlukan ID (sebagai integer) untuk penyedia sistem.
ID yang tersedia terdaftar di class