Un quadrante è un servizio in un'app per Wear OS. Quando un utente seleziona un quadrante disponibile, questo viene visualizzato e la vengono richiamati metodi di callback del servizio.
Quando un utente installa un'app Wear con quadranti, l'orologio i quadranti siano disponibili sullo smartwatch utilizzando il selettore dei quadranti. 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 i quadranti e come per implementare un servizio per i quadranti.
Creare un progetto per il quadrante
Nota: ti consigliamo di utilizzare Android Studio per lo sviluppo di Wear OS, perché offre configurazione del progetto, inclusione delle librerie e comodità di presentazione.
Completa i seguenti passaggi per crea 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 per il quadrante.
Dipendenze
Android Studio aggiunge automaticamente le dipendenze obbligatorie nel tuo build.gradle
. Tra le dipendenze c'è il
AndroidX
raccolta di quadranti orologio; vedi il
.
esempio di codice su GitHub per i dettagli su questa libreria.
Riferimento API Wearable Support Library
La documentazione di riferimento fornisce informazioni dettagliate sui corsi che utilizzi per implementare i quadranti. Esplora Riferimento API documentazione per la libreria di supporto Wearable.
Dichiara le autorizzazioni
Un quadrante richiede l'autorizzazione WAKE_LOCK
.
Aggiungi la seguente autorizzazione ai file manifest dell'app per Wear OS
e l'app per dispositivi mobili sotto l'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 Indicazioni per l'avvio diretto:
- Imposta l'attributo
android:directBootAware
sutrue
per il tuo servizio in del file manifest. - Il quadrante deve memorizzare le informazioni in archiviazione criptata del dispositivo.
Implementare il servizio e i metodi di callback
I quadranti in Wear OS sono implementati come
WatchFaceService
L'implementazione di un WatchFaceService
richiede la creazione di tre oggetti:
UserStyleSchema
, ComplicationSlotsManager
e un
WatchFace
.
Questi tre oggetti vengono specificati eseguendo l'override di tre metodi astratti
WatchFaceService
, mostrata 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 dei quadranti
Dopo aver implementato il servizio del quadrante, registra l'implementazione nel manifest dell'app indossabile. Quando gli utenti installano questa app, il sistema utilizza le informazioni su il servizio per rendere disponibile il quadrante nell' App complementare per Wear OS e nel selettore del quadrante sul dispositivo indossabile.
L'esempio seguente mostra come registrare un'implementazione del quadrante
nel
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 usano l'anteprima
immagine definita dalla voce dei metadati com.google.android.wearable.watchface.preview_circular
quando
presentando agli utenti tutti i quadranti installati sul dispositivo. Per ottenerlo,
esegui il quadrante sul tuo dispositivo Wear OS o in un'istanza dell'emulatore e
acquisisci uno screenshot. Su Wear
su dispositivi dotati di schermi hdpi, l'immagine di anteprima ha in genere una dimensione di 320 x 320 pixel.
La voce di metadati android.service.wallpaper
specifica
watch_face.xml
file di risorse contenente un wallpaper
, come illustrato nell'esempio seguente:
<?xml version="1.0" encoding="UTF-8"?> <wallpaper xmlns:android="http://schemas.android.com/apk/res/android" />
L'app indossabile può contenere più di un quadrante. Devi aggiungere una voce di servizio alla un file manifest dell'app indossabile per ogni implementazione del quadrante.
Risorse correlate
Consulta le seguenti risorse correlate: