0Pricing
Android Academy · Lezione

Che cos'è un composable

Funzioni che descrivono l'interfaccia utente.

Che cos'è un composable è una lezione Android Academy gratuita su CoddyKit. Questa è la lezione 1 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Android Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Android Academy include 4 lezioni in totale.

Che cos'è una composable

In Jetpack Compose si costruiscono le schermate scrivendo funzioni, invece di gonfiare layout XML. Una composable è semplicemente una funzione Kotlin che descrive una parte dell'interfaccia utente.

Si contrassegna una funzione di questo tipo con l'annotazione @Composable. In questo modo si informa il compilatore Compose che la funzione può emettere UI e chiamare altre funzioni composable.

L'annotazione @Composable

Aggiungere @Composable sopra una funzione abilita le funzionalità più potenti di Compose. Al suo interno è possibile chiamare altre composable come Text o Column.

Per convenzione, i nomi delle funzioni composable iniziano con una lettera maiuscola, proprio come quelli delle classi. Questo rende le funzioni UI facili da individuare nel codice.

@Composable
fun Greeting() {
    Text("Hello, Compose!")
}

Descrivere l'UI in Kotlin

Una composable non restituisce un oggetto View. Invece, emette l'UI come effetto collaterale quando Compose la esegue. È sufficiente descrivere ciò che deve apparire sullo schermo.

Questo viene chiamato stile dichiarativo: si dichiara l'aspetto dell'UI per i dati correnti e Compose determina come disegnarla.

@Composable
fun WelcomeMessage() {
    Text("Welcome back!")
}

Le composable chiamano altre composable

La vera potenza deriva dall'annidamento. Una composable può chiamare altre composable, consentendo di costruire schermate complesse a partire da componenti piccoli e riutilizzabili.

Qui una composable padre chiama una composable figlia. Compose le esegue dall'alto verso il basso e dispone l'UI emessa.

@Composable
fun Header() {
    Text("My App")
}

@Composable
fun Screen() {
    Header()
}

Funzioni senza valori restituiti

La maggior parte delle composable restituisce Unit, cioè non restituisce nulla di utile. Il loro compito è emettere UI, non restituire un valore.

Quindi si chiama una composable per il suo effetto sullo schermo, non per acquisire un risultato. È diverso dalle funzioni normali, ma diventa presto naturale.

@Composable
fun Footer() {
    Text("\u00A9 2024 CoddyKit")
}

Passare dati come parametri

Le composable possono accettare parametri, proprio come le normali funzioni Kotlin. Questo consente alla stessa composable di visualizzare dati diversi.

Qui Greeting accetta un name e lo mostra. Passare i dati rende le composable flessibili e riutilizzabili in tutta l'app.

@Composable
fun Greeting(name: String) {
    Text("Hello, " + name + "!")
}

Riutilizzare una composable

Poiché le composable sono funzioni, è possibile chiamarle più volte con argomenti diversi. Ogni chiamata emette una propria copia dell'UI.

È così che si evita di ripetersi: si scrive l'UI una volta e la si riutilizza ovunque serva.

@Composable
fun NameList() {
    Greeting("Ada")
    Greeting("Linus")
}

Dove vivono le composable

Le composable vengono inserite nell'activity Android usando setContent. Questo blocco è il punto di ingresso in cui Compose prende il controllo dello schermo.

All'interno di setContent si chiama la composable di primo livello e tutto ciò che emette diventa l'UI dell'app.

setContent {
    Greeting("World")
}

Nozioni di base sulla ricomposizione

Quando cambiano i dati letti da una composable, Compose esegue nuovamente quella funzione per aggiornare lo schermo. Questa nuova esecuzione si chiama ricomposizione.

Non è necessario aggiornare manualmente l'UI. Si modificano i dati e Compose ricompone automaticamente le composable interessate. In questo modo lo schermo resta sincronizzato con lo stato.

Mantenere piccole le composable

Una buona abitudine consiste nel fare in modo che ogni composable svolga un compito chiaro. Le composable piccole e focalizzate sono più facili da leggere, testare e riutilizzare.

Se una funzione diventa troppo grande, la si suddivide in composable più piccole e le si chiama insieme. Il suo futuro sé la ringrazierà.

@Composable
fun ProfileHeader(name: String) {
    Text(name)
}

Import che vedrà

Le composable provengono dalle librerie Compose. Spesso si importa androidx.compose.runtime.Composable per l'annotazione e androidx.compose.material3.Text per il testo.

Android Studio aggiunge solitamente questi import per Lei. Sapere da dove provengono è utile quando manca un import.

import androidx.compose.runtime.Composable
import androidx.compose.material3.Text

Verifica rapida

Ripassiamo che cosa rende una funzione una composable.

Riepilogo

Ha imparato che una composable è una funzione Kotlin contrassegnata con @Composable che descrive l'UI in modo dichiarativo. Le composable possono accettare parametri, chiamare altre composable e hanno nomi con l'iniziale maiuscola.

Restituiscono Unit ed emettono UI invece di restituire un valore. Quando i dati cambiano, Compose le ricompone per aggiornare lo schermo. Nella prossima lezione visualizzerà testo reale e disporrà le viste in pila con Column.

Domande Frequenti

La lezione «Che cos'è un composable» è gratuita?

Sì — il testo completo di «Che cos'è un composable» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Android Academy, passa a CoddyKit PRO. Il corso Android Academy include 4 lezioni in totale.

Cosa imparerò in «Che cos'è un composable»?

Funzioni che descrivono l'interfaccia utente. Eserciti Android Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Android Academy?

Non è richiesta alcuna esperienza precedente. Android Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 1 di 4.

Quanto tempo richiede la lezione «Che cos'è un composable»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Android Academy?

Sì. Ogni lezione Android Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Che cos'è un composable
  2. Fondamenti di Text e Column
  3. Visualizzare l'anteprima dell'interfaccia
  4. Costruire una scheda profilo
← Torna a Android Academy