Un cadran est un service préinstallé dans une application Wear OS. Lorsqu'un utilisateur sélectionne un cadran disponible, celui-ci s'affiche et les méthodes de rappel de service sont appelées.
Lorsqu'un utilisateur installe une application Wear qui propose différents cadrans, ceux-ci sont disponibles sur la montre à l'aide du sélecteur de cadran. L'utilisateur peut également sélectionner un cadran dans une application associée sur le téléphone jumelé.
Cette page explique comment configurer un projet Wear OS pour inclure des cadrans et implémenter un service de cadran.
Créer un projet de cadran
Remarque : Nous vous recommandons d'utiliser Android Studio pour le développement sur Wear OS, car il fournit des options de configuration de projet, d'inclusion dans la bibliothèque et de packaging.
Procédez comme suit pour créer un projet dans Android Studio pour votre cadran :
- Cliquez sur File > New > New Project (Fichier > Nouveau > Nouveau projet).
- Dans la fenêtre Select a project template (Sélectionner un modèle de projet), cliquez sur l'onglet Wear, puis sélectionnez Watch Face (Cadran) dans la liste des options et cliquez sur Next (Suivant).
- Dans la fenêtre Configure your project (Configurer votre projet), acceptez les valeurs par défaut, puis cliquez sur Finish (Terminer).
Android Studio crée un projet avec un module app
pour votre service de cadran.
Dépendances
Android Studio ajoute automatiquement les dépendances requises dans vos fichiers build.gradle
. La bibliothèque de cadrans AndroidX est incluse dans les dépendances. Consultez l'exemple de code sur GitHub pour en savoir plus sur cette bibliothèque.
Documentation de référence de l'API pour la bibliothèque Support relative aux accessoires connectés
La documentation de référence fournit des informations détaillées sur les classes que vous utilisez pour implémenter des cadrans. Parcourez la documentation de référence de l'API pour trouver la bibliothèque Support relative aux accessoires connectés.
Déclarer des autorisations
Un cadran nécessite l'autorisation WAKE_LOCK
.
Ajoutez l'autorisation suivante aux fichiers manifestes de l'application Wear OS et de l'application de téléphone mobile sous l'élément 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>
Prendre en charge le démarrage direct
Vous devez rendre votre cadran disponible avant le déverrouillage par l'utilisateur en suivant les consignes relatives au démarrage direct :
- Définissez l'attribut
android:directBootAware
surtrue
pour votre service dans votre fichier manifeste. - Votre cadran doit stocker des informations dans l'espace de stockage chiffré de l'appareil.
Implémenter les méthodes de service et de rappel
Les cadrans de Wear OS sont implémentés en tant que WatchFaceService
.
L'implémentation d'un WatchFaceService
nécessite la création de trois objets : UserStyleSchema
, ComplicationSlotsManager
et WatchFace
.
Ces trois objets sont spécifiés en remplaçant trois méthodes abstraites de WatchFaceService
, comme indiqué dans l'exemple suivant :
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 = // ... }
Enregistrer le service du cadran
Une fois que vous avez mis en œuvre le service de cadran, enregistrez-le dans le fichier manifeste de l'application connectée. Lorsque les utilisateurs installent cette application, le système utilise les informations du service pour rendre le cadran disponible dans l'application Wear OS associée et dans le sélecteur de cadran de l'objet connecté.
L'exemple suivant montre comment enregistrer une implémentation du cadran sous l'élément <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>
Lorsque les cadrans installés sont présentés à l'utilisateur, l'application associée Wear OS by Google et le sélecteur de cadran sur l'accessoire connecté utilisent l'image d'aperçu définie par l'entrée de métadonnées com.google.android.wearable.watchface.preview_circular
. Pour obtenir ce drawable, exécutez le cadran sur votre appareil Wear OS ou dans une instance d'émulateur et effectuez une capture d'écran. Sur les appareils Wear équipés d'écrans HDPI, la taille de l'image d'aperçu est généralement de 320 x 320 pixels.
L'entrée de métadonnées android.service.wallpaper
spécifie le fichier de ressources watch_face.xml
, qui contient un élément wallpaper
, comme illustré dans l'exemple suivant :
<?xml version="1.0" encoding="UTF-8"?> <wallpaper xmlns:android="http://schemas.android.com/apk/res/android" />
Votre application connectée peut contenir plusieurs cadrans. Vous devez ajouter une entrée de service au fichier manifeste de l'appli connectée pour chaque implémentation de cadran.
Ressources associées
Consultez les ressources associées suivantes :