Tampilan jam adalah layanan yang dikemas dalam aplikasi Wear OS. Saat pengguna memilih tampilan jam yang tersedia, tampilan jam tersebut ditampilkan dan metode callback layanan dipanggil.
Setelah pengguna menginstal aplikasi Wear yang memiliki tampilan jam, tampilan jam tersebut dapat diakses di smartwatch melalui pemilih tampilan jam. Atau, pengguna dapat memilih tampilan jam dari aplikasi pendamping di ponsel yang tersambung.
Halaman ini menjelaskan cara mengonfigurasi project Wear OS agar menyertakan tampilan jam dan cara mengimplementasikan layanan tampilan jam.
Membuat project tampilan jam
Catatan: Sebaiknya gunakan Android Studio untuk pengembangan Wear OS karena program tersebut menyediakan penyiapan project, penyertaan library, dan kemudahan pengemasan.
Selesaikan langkah-langkah berikut untuk membuat project di Android Studio untuk tampilan jam:
- Klik File > New > New project.
- Di jendela Select a project template, pilih tab Wear, lalu pilih Watch Face dari daftar opsi dan klik Next.
- Di jendela Configure your project, terima nilai default, lalu klik Finish.
Android Studio membuat project dengan modul app
untuk layanan tampilan jam Anda.
Dependensi
Android Studio otomatis akan menambahkan dependensi yang diperlukan dalam file
build.gradle
Anda. Termasuk dalam dependensi ini adalah
library tampilan jam AndroidX; lihat
contoh kode di GitHub untuk mengetahui detail tentang library ini.
Referensi Wearable Support Library API
Dokumentasi referensi memberikan informasi mendetail tentang class yang digunakan untuk mengimplementasikan tampilan jam. Pelajari dokumentasi referensi API untuk Wearable Support Library.
Mendeklarasikan izin
Tampilan jam memerlukan izin WAKE_LOCK
.
Tambahkan izin berikut ke file manifes aplikasi Wear OS dan aplikasi
seluler pada elemen manifest
:
<manifest ...> <uses-permission android:name="android.permission.WAKE_LOCK" /> <!-- Required for complications to receive complication data and open the provider chooser. --> <uses-permission android:name="com.google.android.wearable.permission.RECEIVE_COMPLICATION_DATA"/> ... </manifest>
Mendukung booting langsung
Anda harus menyediakan tampilan jam sebelum membuka kunci pengguna dengan mengikuti panduan Booting Langsung:
- Tetapkan atribut
android:directBootAware
ketrue
untuk layanan di manifes Anda. - Tampilan jam harus menyimpan informasi di penyimpanan yang dienkripsi perangkat.
Mengimplementasikan metode layanan dan callback
Tampilan jam di Wear OS diimplementasikan sebagai
WatchFaceService
Untuk menerapkan WatchFaceService
, Anda harus membuat tiga objek:
UserStyleSchema
, ComplicationSlotsManager
, dan
WatchFace
.
Ketiga objek ini ditentukan dengan mengganti tiga metode abstrak dari
WatchFaceService
, yang ditunjukkan dalam contoh berikut:
Kotlin
class CustomWatchFaceService : WatchFaceService() { /** * The specification of settings the watch face supports. * This is similar to a database schema. */ override fun createUserStyleSchema(): UserStyleSchema = // ... /** * The complication slot configuration for the watchface. */ override fun createComplicationSlotsManager( currentUserStyleRepository: CurrentUserStyleRepository ): ComplicationSlotsManager = // ... /** * The watch face itself, which includes the renderer for drawing. */ override suspend fun createWatchFace( surfaceHolder: SurfaceHolder, watchState: WatchState, complicationSlotsManager: ComplicationSlotsManager, currentUserStyleRepository: CurrentUserStyleRepository ): WatchFace = // ... }
Mendaftarkan layanan tampilan jam
Setelah mengimplementasikan layanan tampilan jam, daftarkan implementasi tersebut dalam file manifes aplikasi wearable. Setelah pengguna menginstal aplikasi, sistem akan menggunakan informasi layanan tersebut untuk menyediakan tampilan jam di aplikasi pendamping Wear OS dan di pemilih tampilan jam pada perangkat wearable.
Cuplikan berikut menunjukkan cara mendaftarkan implementasi tampilan jam
pada elemen
<application>
:
<service android:name=".AnalogWatchFaceService" android:label="@string/analog_name" android:permission="android.permission.BIND_WALLPAPER" > <meta-data android:name="android.service.wallpaper" android:resource="@xml/watch_face" /> <meta-data android:name="com.google.android.wearable.watchface.preview_circular" android:resource="@drawable/preview_analog_circular" /> <intent-filter> <action android:name="android.service.wallpaper.WallpaperService" /> <category android:name= "com.google.android.wearable.watchface.category.WATCH_FACE" /> </intent-filter> </service>
Aplikasi pendamping Wear OS by Google dan pemilih tampilan jam di perangkat wearable menggunakan gambar pratinjau
yang ditetapkan oleh com.google.android.wearable.watchface.preview_circular
entri metadata ketika
menyajikan semua tampilan jam yang terinstal di perangkat kepada pengguna. Untuk mendapatkan drawable ini,
jalankan tampilan jam pada perangkat Wear OS atau instance emulator, lalu
ambil screenshot. Pada perangkat
Wear dengan layar hdpi, gambar pratinjau biasanya berukuran 320x320 piksel.
Entri metadata android.service.wallpaper
menentukan
file resource watch_face.xml
yang berisi elemen wallpaper
,
seperti yang ditunjukkan dalam contoh berikut:
<?xml version="1.0" encoding="UTF-8"?> <wallpaper xmlns:android="http://schemas.android.com/apk/res/android" />
Aplikasi wearable Anda dapat memuat lebih dari satu tampilan jam. Untuk setiap implementasi tampilan jam, Anda harus menambahkan entri layanan ke file manifes aplikasi wearable.
Referensi terkait
Lihat referensi terkait berikut ini: