Un quadrante è un servizio presentato in un'app Wear OS. Quando un utente seleziona un quadrante disponibile, viene visualizzato il quadrante e vengono attivati i metodi di callback del servizio.
Quando un utente installa un'app Wear che dispone di quadranti, questi sono disponibili sull'orologio utilizzando il relativo selettore. In alternativa, l'utente può selezionare un quadrante da un'app complementare sullo smartphone accoppiato.
In questa pagina viene descritto come configurare un progetto Wear OS per includere quadranti e come implementare un servizio per i quadranti.
Creare un progetto di quadranti
Nota: ti consigliamo di utilizzare Android Studio per lo sviluppo in Wear OS, in quanto fornisce la configurazione dei progetti, l'inclusione della libreria e semplifica la presentazione.
Completa i seguenti passaggi per creare un progetto in Android Studio per il tuo quadrante:
- Fai clic su File > Nuovo > Nuovo progetto.
- Nella finestra Seleziona un modello di progetto, seleziona la scheda Wear, quindi seleziona Quadrante dall'elenco di opzioni e fai clic su Avanti.
- Nella finestra Configura il tuo progetto, accetta i valori predefiniti e fai clic su Fine.
Android Studio crea un progetto con un modulo app
per il tuo servizio di quadranti.
Dipendenze
Android Studio aggiunge automaticamente le dipendenze richieste nei file build.gradle
. Nella dipendenza è inclusa la libreria di quadranti AndroidX; consulta l'
esempio di codice su GitHub per avere informazioni dettagliate su questa libreria.
Riferimento API della libreria di supporto indossabile
La documentazione di riferimento fornisce informazioni dettagliate sulle classi utilizzate per implementare i quadranti. Consulta la documentazione di riferimento API per la libreria di supporto per dispositivi indossabili.
Dichiara le autorizzazioni
Un quadrante richiede l'autorizzazione WAKE_LOCK
.
Aggiungi la seguente autorizzazione ai file manifest sia dell'app per Wear OS
sia dell'app per dispositivi mobili nell'elemento 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>
Supporta l'avvio diretto
Devi rendere disponibile il quadrante prima dello sblocco dell'utente seguendo le indicazioni relative all'avvio diretto:
- Imposta l'attributo
android:directBootAware
sutrue
per il servizio nel manifest. - Il quadrante dovrebbe memorizzare le informazioni nello spazio di archiviazione criptato del dispositivo.
Implementare i metodi di servizio e callback
I quadranti in Wear OS sono implementati come
WatchFaceService
.
L'implementazione di un WatchFaceService
richiede la creazione di tre oggetti: UserStyleSchema
, ComplicationSlotsManager
e
WatchFace
.
Questi tre oggetti vengono specificati sostituendo tre metodi astratti da WatchFaceService
, come mostrato nell'esempio seguente:
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 = // ... }
Registra il servizio del quadrante
Dopo aver implementato il servizio del quadrante, registra l'implementazione nel file manifest dell'app indossabile. Quando gli utenti installano questa app, il sistema utilizza le informazioni sul servizio per rendere disponibile il quadrante nell' app complementare Wear OS e nel selettore del quadrante sul dispositivo indossabile.
Il seguente esempio mostra come registrare un'implementazione del quadrante nell'elemento
<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>
L'app complementare Wear OS by Google e il selettore del quadrante sul dispositivo indossabile utilizzano l'immagine di anteprima definita dalla voce dei metadati com.google.android.wearable.watchface.preview_circular
quando presentano agli utenti tutti i quadranti installati sul dispositivo. Per ottenere questo Drawable, esegui il quadrante sul tuo dispositivo Wear OS o in un'istanza dell'emulatore e acquisisci uno screenshot. Sui dispositivi Wear
con schermi HDMI, l'immagine di anteprima ha in genere una dimensione di 320 x 320 pixel.
La voce di metadati android.service.wallpaper
specifica il file di risorse watch_face.xml
, che contiene un elemento wallpaper
, come mostrato nell'esempio seguente:
<?xml version="1.0" encoding="UTF-8"?> <wallpaper xmlns:android="http://schemas.android.com/apk/res/android" />
La tua app indossabile può contenere più di un quadrante. Devi aggiungere una voce di servizio nel file manifest dell'app indossabile per ciascuna implementazione dei quadranti.
Risorse correlate
Consulta le seguenti risorse correlate: