Jetpack è una suite di librerie che aiuta gli sviluppatori a seguire le best practice, ridurre il codice boilerplate e scrivere codice che funziona in modo coerente su tutte le versioni e i dispositivi Android, in modo che gli sviluppatori possano concentrarsi sul codice di loro interesse.
Jetpack Compose
Un toolkit moderno per la creazione di UI native che ti consente di semplificare e accelerare lo sviluppo di UI su Android.

Perché utilizzare Android Jetpack?

Basate su pratiche di progettazione moderne, le librerie Jetpack di Android consentono un minor numero di arresti anomali e meno perdite di memoria grazie alla compatibilità con le versioni precedenti.
Android Jetpack gestisce attività noiose come attività in background, navigazione e gestione del ciclo di vita, in modo che tu possa concentrarti su ciò che rende eccezionale la tua app.
Riduci la complessità con librerie che funzionano in modo coerente su tutte le versioni e i dispositivi Android.

* Le librerie più utilizzate e popolari sono elencate per prime

activity *Accedi alle API componibili basate su Activity.
appcompat *Consente l'accesso alle nuove API sulle versioni precedenti dell'API della piattaforma (molte delle quali utilizzano Material Design).
appsearch *Crea funzionalità di ricerca in-app personalizzate per i tuoi utenti.
camera *Crea app per fotocamere mobile.
componi *Definisci l'interfaccia utente in modo programmatico con funzioni componibili che descrivono la sua forma e le dipendenze dei dati.
databinding *Collega i componenti dell'interfaccia utente nei layout alle origini dati nell'app utilizzando un formato dichiarativo.
fragment *Segmenta l'app in più schermate indipendenti ospitate all'interno di un'attività.
hilt *Estendere la funzionalità di Dagger Hilt per abilitare l'iniezione di dipendenze di determinate classi dalle librerie androidx.
lifecycle *Crea componenti consapevoli del ciclo di vita che possono modificare il comportamento in base allo stato corrente del ciclo di vita di un'attività o di un frammento.
Componenti Material Design * Componenti dell'interfaccia utente Material Design modulari e personalizzabili per Android.
navigation *Crea e struttura l'interfaccia utente in-app, gestisci i link diretti e passa da una schermata all'altra.
paginazione *Carica i dati in pagine e presentali in un RecyclerView.
room *Crea, archivia e gestisci i dati permanenti supportati da un database SQLite.
test *Test su Android.
work *Pianifica ed esegui attività in background differibili e basate su vincoli.
adsOttenere un ID pubblicità con o senza Play Services.
annotazioneEsponi metadati che aiutano gli strumenti e gli altri sviluppatori a comprendere il codice della tua app.
arch.coreHelper per altre dipendenze dell'architettura, incluse le regole di test JUnit che possono essere utilizzate con LiveData.
asynclayoutinflaterInfla i layout in modo asincrono per evitare scatti nell'interfaccia utente.
Compilazione automaticaMigliora l'accuratezza della compilazione automatica estendendo i suggerimenti.
benchmarkMisura con precisione le prestazioni del codice in Android Studio.
biometricoEffettua l'autenticazione con le credenziali del dispositivo o con la biometria ed esegui operazioni di crittografia.
bluetoothUtilizza le funzionalità Bluetooth della piattaforma Android con API compatibili con le versioni precedenti.
browserMostrare le pagine web nel browser predefinito dell'utente.
camera.viewfinderMirino componibile autonomo e basato sulla visualizzazione per la fotocamera"
car-appCrea app basate su modelli per Android Auto e Android Automotive OS.
cardviewImplementa il pattern di schede di Material Design con angoli arrotondati e ombreggiature.
raccoltaRiduci l'impatto sulla memoria delle collezioni nuove ed esistenti di piccole dimensioni.
compose.animationCreare animazioni nelle loro applicazioni Jetpack Compose per arricchire l'esperienza utente.
compose.compilerTrasforma le funzioni @Composable e abilita le ottimizzazioni con un plug-in del compilatore Kotlin.
compose.foundationScrivi applicazioni Jetpack Compose con componenti di base pronti all'uso ed espandi la base per creare i componenti del tuo sistema di progettazione.
compose.materialCrea interfacce utente Jetpack Compose con componenti Material Design pronti all'uso. Si tratta del punto di contatto di primo livello di Compose, progettato per fornire componenti corrispondenti a quelli descritti all'indirizzo www.material.io.
compose.material3Crea interfacce utente Jetpack Compose con i componenti Material Design 3, la prossima evoluzione di Material Design. Material 3 include temi e componenti aggiornati e funzionalità di personalizzazione di Material You come i colori dinamici ed è progettato per essere coerente con il nuovo stile visivo e l'interfaccia utente di sistema di Android 12.
compose.material3.adaptiveUtilizza la libreria adattiva Material 3 per creare UI adattabili che si adatteranno automaticamente in base alle configurazioni della finestra corrente, come le classi di dimensioni della finestra o le posizioni del dispositivo. La libreria fornisce sia le implementazioni predefinite dello scafo sia i componenti composibili dei componenti di base necessari per creare le tue esperienze personalizzate.
compose.runtimeComponenti di base del modello di programmazione e della gestione dello stato di Compose, nonché del runtime di base per il plug-in del compilatore Compose come target.
compose.uiComponenti fondamentali dell'interfaccia utente di composizione necessari per interagire con il dispositivo, inclusi layout, disegno e input.
concurrentSposta le attività fuori dal thread principale con le coroutine e sfrutta ListenableFuture.
constraintlayoutPosiziona e ridimensiona i widget in modo flessibile con il posizionamento relativo.
contentpagerCarica e visualizza i dati di ContentProvider in un thread in background.
coordinatorlayoutPosiziona i widget di primo livello dell'applicazione, come AppBarLayout e FloatingActionButton.
coreScegli come target le API e le funzionalità della piattaforma più recenti, supportando al contempo i dispositivi meno recenti.
core.uwbImplementa la tecnologia UWB (banda ultralarga) sui dispositivi supportati.
credentials Questa libreria fornisce l'accesso unificato alle credenziali di un utente. Potrebbero essere incluse password, passkey e credenziali federate. Questa libreria deve essere utilizzata per offrire esperienze di accesso fluide e sicure.
credentials.registryPer risolvere questi problemi, stiamo aggiungendo un nuovo meccanismo di registry che consente a un'app di fornire credenziali digitali nel rispetto della privacy. A un livello generale, l'app del fornitore preregistrerà tutte le credenziali digitali candidate in Credential Manager. Quando Credential Manager riceve una richiesta di app per una credenziale digitale specifica, eseguirà la corrispondenza delle credenziali e l'interfaccia utente del selettore utente in una sandbox.
cursoradapterEsponi i dati del cursore a un widget ListView.
customviewImplementa visualizzazioni personalizzate.
datastoreMemorizza i dati in modo asincrono, coerente e transazionale, superando alcuni degli svantaggi di SharedPreferences
documentfileVisualizza un file del documento.
draganddropAccettare i dati trascinati da un'altra app o all'interno di un'app e mostrare un'affordance del target di rilascio coerente.
drawerlayoutImplementa un widget del riquadro di Material Design.
dynamicanimationCrea animazioni fluide con un'API di animazione basata sulla fisica.
emojiMostrare le emoji sui dispositivi attuali e meno recenti.
emoji2Mostrare le emoji sui dispositivi attuali e meno recenti.
enterpriseCrea applicazioni pronte per le aziende.
exifinterfaceLeggere e scrivere i tag EXIF dei file immagine.
giochiUtilizza l'SDK Android Games in modo nativo nella tua app per eseguire attività complesse per i giochi, come il frame pacing.
RiepilogoCrea layout per piattaforme remote utilizzando un'API in stile Jetpack Compose.
graphicsSfrutta le funzionalità di grafica su più release della piattaforma Android
gridlayoutImplementa un layout a griglia.
saluteCreare applicazioni per la salute ad alte prestazioni in modo indipendente dalla piattaforma.
health.connectConsente agli sviluppatori di leggere o scrivere i dati relativi a salute e attività fisica dell'utente.
heifwriterCodifica un'immagine o una raccolta di immagini in formato HEIF utilizzando i codec disponibili sul dispositivo Android.
inkCreare app con penna di alta qualità. Abbassa la soglia di ingresso per gli sviluppatori per esperienze di scrittura ad alte prestazioni e di alta qualità.
inputRiduci la latenza delle interazioni con i dati di input prevedendo MotionEvent futuri
interpolatorUtilizzare gli interpolatori di animazione su piattaforme meno recenti.
javascriptengineConsenti all'app per Android di valutare JavaScript.
jetifierUno strumento autonomo che esegue la migrazione delle dipendenze di una libreria dalla libreria di supporto deprecata alle dipendenze AndroidX equivalenti.
leanbackUtilizza Compose per TV anziché questo elemento.
legacyQuesto elemento e i relativi classi sono deprecati. A partire da Android 8, le limitazioni relative al controllo dei precedenti rendono questa classe non più utile.
lintI controlli Lint verificano l'utilizzo delle API Gradle
loaderCarica i dati per l'interfaccia utente che rimangono invariati dopo le modifiche alla configurazione.
localbroadcastmanagerQuesto elemento e i relativi classi sono deprecati. Utilizza invece LiveData o stream reattivi.
mediaCondividere contenuti multimediali e controlli con altre app. Sostituito da media2.
media2Condividere contenuti multimediali e controlli con altre app.
media3 *Supporta le librerie per i casi d'uso di contenuti multimediali.
mediarouterConsente la visualizzazione e la riproduzione dei contenuti multimediali sui dispositivi di ricezione remoti utilizzando un'interfaccia utente comune.
multidexEsegui il deployment di applicazioni con più file dex su dispositivi precedenti ad Android 5.
metricheMonitora e genera report su varie metriche di runtime per la tua applicazione
paletteEstrai tavolozze di colori rappresentative dalle immagini.
pdfUna libreria per aggiungere funzionalità di visualizzazione di PDF all'interno delle app.
percentlayoutQuesto elemento e i relativi classi sono deprecati. Utilizza invece ConstraintLayout e i layout associati.
preferenceCrea schermate di impostazioni interattive senza dover interagire con lo spazio di archiviazione del dispositivo o gestire l'interfaccia utente.
stampareStampa foto, documenti e altre immagini e grafiche dalla tua app.
privacysandbox.activityDA FARE
privacysandbox.adsQuesta libreria consente l'integrazione con le API incentrate sulla tutela della privacy, che fanno parte di Privacy Sandbox su Android.
privacysandbox.pluginsPlug-in Gradle della libreria SDK Privacy Sandbox di Android
privacysandbox.sdkruntimeQuesta libreria fornisce componenti per i consumatori SdkRuntime consapevoli
privacysandbox.toolsUna libreria per utilizzare la funzionalità Privacy Sandbox in Android
privacysandbox.uiDA FARE
profileinstallerConsente alle librerie di precompilare in anticipo le tracce di compilazione da leggere da ART.
consiglioPromuovere i contenuti nella schermata Home di Avvio app Android TV.
recyclerviewVisualizza grandi set di dati nell'interfaccia utente riducendo al minimo l'utilizzo della memoria.
remotecallbackCrea un wrapper che consenta agli sviluppatori di fornire più facilmente un PendingIntent.
resourceinspectionMostra gli attributi delle visualizzazioni personalizzate in Layout Inspector in tempo reale di Android Studio.
savedstateScrivi componenti plug-in che salvano lo stato dell'interfaccia utente quando un processo termina e lo ripristinano al riavvio del processo.
Gestisci in sicurezza le chiavi e cripta file e sharedpreferences.
sharetargetFornire la compatibilità con le versioni precedenti per l'utilizzo delle scorciatoie come destinazioni di condivisione diretta.
sliceMostrare elementi dell'interfaccia utente basati su modelli al di fuori dell'app.
slidingpanelayoutImplementa un pattern di interfaccia utente con riquadro scorrevole.
startupImplementa un modo semplice e performante per inizializzare i componenti all'avvio dell'app.
sqliteLavora con i database SQLite locali. Se possibile, utilizza Room.
swiperefreshlayoutImplementa il pattern di interfaccia utente di scorrimento per l'aggiornamento.
test.uiautomatorFramework per i test dell'interfaccia utente funzionale tra app
classificatore_testoIdentifica conversazioni, link, selezioni e altri costrutti simili nel testo.
rintracciamentoScrive gli eventi traccia nel buffer delle tracce di sistema.
transitionAnima il movimento nell'interfaccia utente con layout di inizio e fine.
tvFornisce agli sviluppatori le funzionalità di Compose e Material Design per scrivere applicazioni per la TV
tvproviderFornire canali Android TV.
vectordrawableEsegui il rendering di immagini vettoriali.
versionedParcelableFornisce un formato di serializzazione binario stabile e compatto che può essere trasmesso tra i processi o mantenuto in modo sicuro.
viewpagerVisualizza le visualizzazioni o i frammenti in un formato scorrevole. Se possibile, utilizza invece viewpager2.
viewpager2Visualizza le visualizzazioni o i frammenti in un formato scorrevole.
wearCreare applicazioni per smartwatch Wear OS by Google.
wear.composeScrivi applicazioni Jetpack Compose per dispositivi indossabili fornendo funzionalità per supportare dispositivi, dimensioni, forme e gesti di navigazione specifici per i dispositivi indossabili.
wear.protolayoutQuesta libreria consente di definire un insieme di layout dell'interfaccia utente ed espressioni non UI da eseguire in rendering/valutazione su piattaforme remote.
wear.tilesCreare applicazioni per smartwatch Wear OS by Google.
wear.watchfaceCreare applicazioni per smartwatch Wear OS by Google.
webkitUtilizza le API WebView moderne su Android 5 e versioni successive.
windowConsente di supportare diversi fattori di forma dei dispositivi, ad esempio i dispositivi pieghevoli.
window.extensions.coreAPI di base per le estensioni della libreria Window Manager
Scrivi ad agosto 2023
Jetpack Compose 1.5.0 passa alla versione stabile e apporta importanti miglioramenti delle prestazioni, tra cui il refactoring di modificatori di alto livello come "Clickable", che può migliorare il tempo di composizione dell'80%. Compose di agosto 2023 migliora anche fino al 70% nell'allocazione della memoria (in particolare nello stack grafico), riducendo così l'ingombro della memoria per la scrittura sui dispositivi.
Wear Compose e Tiles 1.2
Sia Wear Compose che i riquadri Wear sono stati trasferiti alla versione stabile per migliorare ulteriormente l'esperienza degli sviluppatori wearOS. Entrambi sono complementari: Wear Compose può essere utilizzato per creare schermate di app complesse sui dispositivi Wear e i riquadri Wear possono essere utilizzati per creare i riquadri delle app. La nuova release di Compose per Wear OS contiene nuove funzionalità come Elementi espandibili e Scorri per visualizzare. La release Wear Tiles ora supporta anche l'animazione dei widget e l'associazione di dati della piattaforma (come l'origine dati sulla salute).
Finestra 1.1
1.1 stabilizza le API di incorporamento delle attività, consentendo ad app come WhatsApp, eBay e Temu di implementare layout di schermi di grandi dimensioni. L'API è arricchita di funzionalità, in quanto consente agli sviluppatori di modificare il comportamento dello schermo diviso, controllare (e modificare) lo stato di suddivisione in fase di runtime, implementare suddivisioni orizzontali e avviare una finestra modale a schermo intero.
Note di rilascio
Per ulteriori informazioni, consulta le nostre note di rilascio.

Impara a utilizzare Jetpack

Scopri le librerie Jetpack essenziali nel corso Nozioni di base di Android con il corso Compose e riduci il boilerplate nella tua app
Fai pratica con tre librerie Jetpack che semplificano il tuo livello dati: LiveData, ViewModel e Room
Scopri come le librerie Jetpack più popolari vengono utilizzate insieme in un'app a livello di produzione

Notizie e video