Questa guida include i passaggi relativi agli strumenti necessari per configurare un quadrante utilizzando il formato Watch Face, alcuni suggerimenti sulla struttura del progetto e una guida passo passo per applicare gli strumenti per creare questa struttura.
Prerequisiti
Per preparare l'ambiente di sviluppo per l'utilizzo del formato del quadrante, completa i seguenti passaggi di configurazione:
Installa l'SDK per Android 14 (livello API 34) o versioni successive. Se il quadrante non si basa su funzionalità o comportamenti specifici della versione 2, puoi installare invece l'SDK per Android 13 (livello API 33).
L'SDK contiene altri strumenti necessari, tra cui
aapt2
eandroid.jar
.In alternativa, installa Android Studio, che può fornire anche questi strumenti.
Struttura del progetto
Quando crei un quadrante personalizzato che utilizza il formato Watch Face, l'Android App Bundle che include il file del quadrante personalizzato deve essere completamente separato dall'Android App Bundle che contiene la logica della tua app per Wear OS. Alcuni store di app, tra cui Google Play, impediscono di caricare un app bundle Android che includa sia la logica Wear OS sia un quadrante personalizzato.
Crea bundle di quadranti
Per creare un app bundle per Android che includa un file del quadrante, completa i passaggi descritti nelle sezioni seguenti.
Dichiarare l'utilizzo di Watch Face Format
Nel file manifest della nuova app (AndroidManifest.xml
), aggiungi una proprietà
dell'applicazione che indichi l'utilizzo del Watch Face Format. A meno che tu non voglia limitare l'accesso al quadrante per i dispositivi con Wear OS 5 o versioni successive, crea due APK del quadrante diversi, uno che supporta la versione 2 e uno che supporta la versione 1. Scopri di più su come configurare le versioni della tua app.
<?xml version="1.0" encoding="utf-8" standalone="no"?> <manifest ...> <!-- Use SDK version 34 for version 2 of WFF, and SDK version 33 for version 1 of WFF --> <uses-sdk android:minSdkVersion="34" android:targetSdkVersion="34" /> <!-- WFF is a resource-only format, so the hasCode attribute should be set to false to reflect this. --> <application android:label="@string/watch_face_name" android:hasCode="false" ...> <property android:name="com.google.wear.watchface.format.version" android:value="2" /> </application> </manifest>
Dichiarare i metadati del quadrante
Nella directory delle risorse res/xml
della tua app, crea un nuovo file denominato
watch_face_info.xml
. Qui puoi definire i metadati del quadrante:
<?xml version="1.0" encoding="utf-8"?>
<WatchFaceInfo>
<!-- Only "Preview" is required. -->
<Preview value="@drawable/watch_face_preview" />
<Category value="CATEGORY_EMPTY" />
<AvailableInRetail value="true" />
<MultipleInstancesAllowed value="true" />
<Editable value="true" />
</WatchFaceInfo>
I campi di questo file rappresentano i seguenti dettagli:
Preview
- Fa riferimento al drawable che contiene un'immagine di anteprima del quadrante.
Category
Definisce la categoria del quadrante. Deve essere una stringa o un riferimento a una stringa, ad esempio
@string/ref_name
. Ogni produttore di dispositivi può definire il proprio insieme di categorie di quadranti.Valore predefinito:
empty_category_meta
, che raggruppa questo quadrante insieme ad altri quadranti di "categoria vuota" nella parte inferiore della visualizzazione del selettore di quadranti.AvailableInRetail
Indica se il quadrante è disponibile nella modalità demo retail del dispositivo. Deve essere un valore booleano o un riferimento a un valore booleano come
@bool/watch_face_available_in_retail
.Valore predefinito:
false
MultipleInstancesAllowed
Indica se il quadrante può avere più preferiti. Deve essere un valore booleano o un riferimento a un valore booleano come
@bool/watch_face_multiple_instances_allowed
.Valore predefinito:
false
Editable
Indica se il quadrante è modificabile, il che significa che ha un'impostazione o almeno una complicazione non fissa. Viene utilizzato per mostrare o nascondere il pulsante Modifica per il quadrante nell'elenco dei preferiti.
Valore predefinito: false
Dichiara il nome del quadrante
Nel file manifest dell'app (AndroidManifest.xml
), imposta l'attributo android:label
sul nome del quadrante:
<application android:label="@string/watch_face_name" >
(Facoltativo) Dichiarare il supporto per le forme dei quadranti
Questo passaggio è necessario solo se vuoi supportare un comportamento diverso per le diverse dimensioni dei quadranti. Puoi saltare questo passaggio se non ti dispiace che il quadrante venga ridimensionato in base alle dimensioni dello smartwatch.
Nella directory delle risorse res/xml
della tua app, dichiara l'insieme di forme del quadrante supportate in watch_face_shapes.xml
:
<WatchFaces>
<!-- The default shape is "CIRCLE". -->
<WatchFace shape="CIRCLE" width="300" height="300"
file="@raw/watchface"/>
<WatchFace shape="CIRCLE" width="450" height="450"
file="@raw/watchface_large_circle"/>
<WatchFace shape="RECTANGLE" width="380" height="400"
file="@raw/watchface_rectangle"/>
</WatchFaces>
Dichiara i dettagli del quadrante
Nella directory delle risorse res/raw
dell'app, crea file corrispondenti ai valori dell'attributo file
utilizzati quando dichiari il supporto per le forme del quadrante.
È qui che definisci l'aspetto e il comportamento di
ogni forma del quadrante. Se non hai definito un file delle forme, devi solo creare un file, watchface.xml
.
Utilizzando l'esempio di questa pagina, i file XML non elaborati sarebbero:
res/raw/watchface.xml
res/raw/watchface_large_circle.xml
res/raw/watchface_rectangle.xml
L'elemento principale è sempre WatchFace
:
<WatchFace width="450" height="450" clipShape="CIRCLE">
<!-- Remainder of your Watch Face Format definition here. -->
<!-- If this file defines a watch face for a circular device shape, place
resources used in this file in the "/res/drawable-nodpi" directory. -->
<!-- If this file defines a watch face for a rectangular or other
non-circular shape, place resources ued in this file in the
"/res/drawable-notround-nodpi" directory. -->
</WatchFace>
(Facoltativo) Identificare l'editore del quadrante
Se vuoi, nel file manifest dell'app puoi dichiarare una stringa arbitraria che puoi utilizzare per identificare il publisher del quadrante o il nome e la versione dello strumento che stai utilizzando:
<application ...> ... <property android:name="com.google.wear.watchface.format.publisher" android:value="{toolName}-{toolVersion}" /> </application>
Verificare la correttezza e il rendimento del quadrante
Durante lo sviluppo e prima di caricarlo su Google Play, utilizza gli strumenti di convalida per controllare che il quadrante non presenti errori e che sia conforme ai consigli sull'utilizzo della memoria.
- Scopri di più su come ottimizzare l'utilizzo della memoria e controllare l'utilizzo della memoria in preparazione alla pubblicazione.
- Scopri di più sull'utilizzo dello strumento di convalida XML come parte del tuo ciclo di sviluppo.
Creare app bundle per i quadranti
Per compilare l'Android App Bundle contenente il quadrante, utilizza il sistema di compilazione Gradle. Scopri di più su come creare un'app utilizzando Gradle.
Questo è dimostrato negli esempi GitHub.
Consigliati per te
- Nota: il testo del link viene visualizzato quando JavaScript è disattivato
- AAPT2
- Nozioni di base su Jetpack Compose
- Iniziare a usare CameraX