Utilizzare Jetpack Compose su Wear OS

Compose per Wear OS è simile a Compose per i dispositivi mobili. Tuttavia, ci sono alcune differenze fondamentali. Questa guida ti illustrerà somiglianze e differenze.

Compose per Wear OS fa parte di Android Jetpack e, come le altre librerie Wear Jetpack che utilizzi, ti aiuta a scrivere codice migliore più velocemente. Questo è l'approccio consigliato per creare interfacce utente per le app Wear OS.

Se non hai dimestichezza con l'utilizzo del toolkit di Jetpack Compose, consulta il percorso di Compose. Molti dei principi di sviluppo di Compose per dispositivi mobili si applicano anche a Compose per Wear OS. Consulta Why Compose per saperne di più sui vantaggi generali di un framework di UI dichiarativo. Per scoprire di più su Compose per Wear OS, consulta il percorso Compose per Wear OS e il repository esempi di Wear OS su GitHub.

Compatibilità

Compose per Wear OS funziona su orologi che supportano Wear OS 3.0 (livello API 30) e smartwatch che utilizzano Wear OS 2.0 (livello API 25 e versioni successive). L'utilizzo della versione 1.0 di Compose per Wear OS richiede l'utilizzo della versione 1.2 delle librerie androidx.compose e di Kotlin 1.7.0.

Piattaforme

Compose per Wear OS semplifica la creazione di app su Wear OS. Per ulteriori informazioni, vedi App. Usa i nostri componenti integrati per creare esperienze utente conformi alle linee guida di Wear OS. Per ulteriori informazioni sui componenti, consulta le nostre linee guida sulla progettazione.

Configurazione…

L'utilizzo di Jetpack Compose con Wear OS è simile all'utilizzo di Jetpack Compose per qualsiasi altro progetto Android. La differenza principale è che Jetpack Compose per Wear aggiunge librerie specifiche per Wear che semplificano la creazione di interfacce utente su misura per gli orologi. In alcuni casi, questi componenti condividono lo stesso nome delle controparti non indossabili, ad esempio androidx.wear.compose.material.Button e androidx.compose.material.Button.

Creare una nuova app in Android Studio

Per creare un nuovo progetto che includa Jetpack Compose, procedi come segue:

  1. Se ti trovi nella finestra Ti diamo il benvenuto in Android Studio, fai clic su Avvia un nuovo progetto Android Studio. Se hai già aperto un progetto Android Studio, seleziona File > Nuovo > Importa esempio dalla barra dei menu.
  2. Cerca Scrivi per Wear OS e seleziona Scrivi per Wear OS Starter.
  3. Nella finestra Configura il tuo progetto, segui questi passaggi:
    1. Imposta il Nome applicazione.
    2. Scegli la Località del progetto per l'esempio.
  4. Fai clic su Fine.
  5. Verifica che il file build.gradle del progetto sia configurato correttamente, come descritto in File delle proprietà Gradle.

Ora puoi iniziare a sviluppare un'app utilizzando Compose per Wear OS.

Dipendenze del toolkit Jetpack Compose

Per utilizzare Jetpack Compose con Wear OS, devi includere le dipendenze del toolkit di Jetpack Compose nel file build.gradle dell'app, come mostrato nel seguente snippet:

Kotlin

dependencies {
    // General compose dependencies
    implementation("androidx.activity:activity-compose:1.8.2")
    implementation("androidx.compose.ui:ui-tooling-preview:1.6.2")
    // Other compose dependencies

    // Compose for Wear OS Dependencies
    implementation("androidx.wear.compose:compose-material:1.3.0")

    // Foundation is additive, so you can use the mobile version in your Wear OS app.
    implementation("androidx.wear.compose:compose-foundation:1.3.0")

    // Wear OS preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.3.0")

    // If you are using Compose Navigation, use the Wear OS version (NOT THE MOBILE VERSION).
    // Uncomment the line below and update the version number.
    // implementation("androidx.wear.compose:compose-navigation:1.3.0")

    // Testing
    testImplementation("junit:junit:4.13.2")
    androidTestImplementation("androidx.test.ext:junit:1.1.3")
    androidTestImplementation("androidx.test.espresso:espresso-core:3.4.0")
    androidTestImplementation("androidx.compose.ui:ui-test-junit4:1.0.3")
    debugImplementation("androidx.compose.ui:ui-tooling:1.0.3")
}

Differenze

Se possibile, utilizza la versione WearComposeMaterial delle API. Sebbene sia tecnicamente possibile utilizzare la versione mobile di Compose Material, non è ottimizzata per i requisiti specifici di Wear OS. Inoltre, la combinazione di Compose Material e Compose Material per Wear OS può comportare comportamenti imprevisti. Ad esempio, poiché ogni libreria ha la propria classe MaterialTheme, esiste la possibilità che colori, tipografia o forme siano incoerenti se vengono utilizzate entrambe le versioni.

La seguente tabella illustra le differenze di dipendenze tra Wear OS e dispositivi mobili:

Dipendenza Wear OS

(androidx.wear.*)

Confronto Dipendenza da dispositivi mobili

(androidx.*)

androidx.wear.compose:compose-materiale invece di androidx.compose.material:materiale
androidx.wear.compose:compose-navigation invece di androidx.navigation:navigation-compose
androidx.wear.compose:compose-foundation oltre a androidx.compose.foundation:foundation

Ecco un esempio di file build.gradle:

// Example project in app/build.gradle file
dependencies {
    // Standard Compose dependencies...

    // Wear specific Compose Dependencies
    implementation "androidx.wear.compose:compose-material:$rootProject.wearVersion"
    implementation "androidx.wear.compose:compose-foundation:$rootProject.wearVersion"

    // For navigation within your app...
    implementation "androidx.wear.compose:compose-navigation:$rootProject.wearVersion"

    // Other dependencies...
}

Feedback

Prova Compose per Wear OS e utilizza l'Issue Tracker per fornire suggerimenti e feedback.

Entra nel canale#compose-wear su Kotlin Slack per entrare in contatto con la community di sviluppatori e farci conoscere la tua esperienza.