Jetpack Android
Jetpack è una suite di librerie che ti aiuta a seguire le best practice, ridurre il codice boilerplate e scrivere codice che funzioni in modo coerente su versioni, dispositivi e fattori di forma di Android, in modo che tu possa concentrarti sul codice che ti interessa.
Jetpack Compose
Sviluppa l'interfaccia utente con Scrivi
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?
Segui le best practice
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.
Elimina il codice boilerplate
Android Jetpack gestisce attività noiose come la gestione delle attività in background, la navigazione e il ciclo di vita delle attività, in modo che tu possa concentrarti sul miglioramento della tua app.
Riduci la frammentazione
Riduci la complessità con librerie che funzionano in modo coerente su tutte le versioni e i dispositivi Android.
Creare annunci per qualsiasi dimensione di visualizzazione
Le librerie Jetpack come androidx.compose.material3.adaptive.layout semplificano lo sviluppo di layout adattivi ottimizzati per tutte le dimensioni di visualizzazione.
Impara a utilizzare Jetpack
Formazione sui concetti fondamentali
Scopri le librerie Jetpack essenziali nel corso Nozioni di base di Android con il corso Compose e riduci il boilerplate nella tua app
Tutorial pratico
Fai pratica con tre librerie Jetpack che semplificano il tuo livello dati: LiveData, ViewModel e Room
Ora nell'app Android di esempio
Scopri come viene implementata la moderna architettura Android in un'app reale
Librerie Jetpack Esplora tutte le librerie
* Le librerie più utilizzate e più diffuse sono elencate per prime
| attività * | Accedi alle API componibili basate su Activity. |
| Componenti adattivi di Material Design 3 | Crea UI adattive con i componenti di Material Design 3. |
| appcompat * | Consente l'accesso a nuove API nelle versioni precedenti dell'API della piattaforma (molte utilizzano Material Design). |
| appsearch * | Crea funzionalità di ricerca in-app personalizzate per i tuoi utenti. |
| camera * | Crea app per fotocamere mobile. |
| compose * | Crea la tua UI in modo programmatico con funzioni componibili che ne descrivono la forma e le dipendenze dai dati. |
| databinding * | Collega i componenti UI nei layout alle origini dati nella tua app utilizzando un formato dichiarativo. |
| fragment * | Segmenta la tua app in più schermate indipendenti ospitate all'interno di un'attività. |
| hilt * | Estendi la funzionalità di Dagger Hilt per abilitare l'iniezione delle dipendenze di determinate classi dalle librerie androidx. |
| lifecycle * | Crea componenti che tengono conto del ciclo di vita e che possono modificare il comportamento in base allo stato del ciclo di vita corrente di un'attività o di un fragment. |
| Componenti Material Design * | Componenti UI di Material Design modulari e personalizzabili per Android. |
| navigation * | Crea e struttura l'UI in-app, gestisci i link diretti e sposta gli utenti tra le schermate. |
| paging * | Carica i dati nelle pagine e presentali in un RecyclerView. |
| room * | Crea, archivia e gestisci dati persistenti supportati da un database SQLite. |
| room3 * | Crea, archivia e gestisci dati persistenti supportati da un database SQLite. |
| test * | Test in Android. |
| work * | Pianifica ed esegui attività in background differibili e basate su vincoli. |
| ads | Ottieni un ID pubblicità con o senza Play Services. |
| annotation | Espone i metadati che aiutano gli strumenti e gli altri sviluppatori a comprendere il codice della tua app. |
| appfunctions | Consente alle app di condividere funzionalità e dati con gli assistenti AI, consentendo loro di scoprire ed eseguire attività direttamente sul dispositivo per soddisfare le richieste degli utenti. |
| arch.core | Helper per altre dipendenze di architettura, incluse le regole di test JUnit che possono essere utilizzate con LiveData. |
| asynclayoutinflater | Esegui l'inflate dei layout in modo asincrono per evitare jank nell'UI. |
| autofill | Migliora l'accuratezza della compilazione automatica estendendo i suggerimenti. |
| benchmark | Misura con precisione il rendimento del codice in Android Studio. |
| biometric | Esegui l'autenticazione con dati biometrici o credenziali del dispositivo ed esegui operazioni di crittografia. |
| bluetooth | Utilizza le funzionalità Bluetooth della piattaforma Android con API compatibili con le versioni precedenti. |
| browser | Visualizza le pagine web nel browser predefinito dell'utente. |
| camera.featurecombinationquery | Esegui query sulle funzionalità della fotocamera. |
| camera.media3 | DA FARE |
| camera.viewfinder | Mirino autonomo componibile e basato su visualizzazione per la fotocamera" |
| car-app | Crea app basate su modelli per Android Auto e Android Automotive OS. |
| cardview | Implementa il pattern della scheda di Material Design con angoli arrotondati e ombreggiature. |
| collection | Riduci l'impatto sulla memoria delle raccolte esistenti e nuove di piccole dimensioni. |
| compose.animation | Crea animazioni nelle applicazioni Jetpack Compose per arricchire l'esperienza utente. |
| compose.compiler | Trasforma le funzioni @Composable e attiva le ottimizzazioni con un plug-in del compilatore Kotlin. |
| compose.foundation | Sviluppa applicazioni Jetpack Compose con i componenti di base pronti all'uso e usali per personalizzare il design degli elementi della tua app. |
| compose.material | Crea UI Jetpack Compose con i componenti Material Design pronti all'uso. Compose offre un modo più semplice e rapido per iniziare ed è progettato per fornire componenti in linea con quanto descritto all'indirizzo www.material.io. |
| compose.material3 | Crea UI Jetpack Compose con i componenti Material Design 3, la nuova evoluzione di Material Design. Material 3 include componenti e temi aggiornati e funzionalità di personalizzazione Material You come il colore dinamico. È progettato per essere coerente con il nuovo stile visivo e l'UI di sistema di Android 12. |
| compose.material3.adaptive | Utilizza la libreria adattiva Material 3 per creare UI adattive che si adattano automaticamente in base alle configurazioni della finestra corrente, come le classi di dimensioni della finestra o le posizioni del dispositivo. La libreria fornisce sia implementazioni di scaffold predefinite sia componenti componibili di base necessari per creare esperienze personalizzate. |
| compose.remote | Remote Compose è un framework per creare UI per superfici remote |
| compose.runtime | Elementi di base del modello di programmazione e della gestione dello stato di Compose e runtime principale utilizzato dal plug-in del compilatore Compose. |
| compose.ui | Componenti fondamentali della UI di Compose necessari per interagire con il dispositivo, inclusi layout, disegno e input. |
| concurrent | Sposta le attività fuori dal thread principale con le coroutine e sfrutta ListenableFuture. |
| constraintlayout | Posiziona e ridimensiona i widget in modo flessibile con il posizionamento relativo. |
| contentpager | Carica e impagina i dati di ContentProvider in un thread in background. |
| coordinatorlayout | Posiziona i widget dell'applicazione di primo livello, come AppBarLayout e FloatingActionButton. |
| core | Utilizza le funzionalità e le API della piattaforma più recenti, supportando al contempo i dispositivi meno recenti. |
| core.uwb | Implementa la tecnologia UWB (banda ultralarga) sui dispositivi supportati. |
| credentials | Questa libreria fornisce un accesso unificato alle credenziali di un utente. Possono essere incluse password, passkey e credenziali federate. Questa libreria deve essere utilizzata per fornire esperienze di accesso semplici e sicure. |
| credentials.providerevents | Questa libreria fornisce un insieme di API per consentire ai fornitori di credenziali di partecipare agli eventi dei fornitori, come il trasferimento delle credenziali e le modifiche delle credenziali di segnalazione. |
| credentials.registry | Per risolvere questi problemi, stiamo aggiungendo un nuovo meccanismo di registro che consente a un'app di fornire credenziali digitali in modo da tutelare la privacy. A livello generale, l'app per fornitori pre-registrerà tutte le credenziali digitali candidate con Gestore delle credenziali. Quando Gestore delle credenziali riceve una richiesta di un'app per una credenziale digitale specifica, esegue la corrispondenza delle credenziali e l'UI del selettore utente in una sandbox. |
| cursoradapter | Espone i dati del cursore a un widget ListView. |
| customview | Implementa visualizzazioni personalizzate. |
| datastore | Archivia i dati in modo asincrono, coerente e transazionale, superando alcuni degli svantaggi di SharedPreferences. |
| documentfile | Visualizza un documento di file. |
| draganddrop | Accetta i dati di trascinamento da un'altra app o all'interno di un'app e mostra un'opportunità di destinazione di rilascio coerente. |
| drawerlayout | Implementa un widget del riquadro a scomparsa di Material Design. |
| dynamicanimation | Crea animazioni fluide con un'API di animazione basata sulla fisica. |
| emoji | Visualizza le emoji sui dispositivi attuali e meno recenti. |
| emoji2 | Visualizza le emoji sui dispositivi attuali e meno recenti. |
| enterprise | Crea applicazioni pronte per l'uso aziendale. |
| exifinterface | Leggi e scrivi i tag EXIF dei file immagine. |
| games | Utilizza l'SDK Android Game in modo nativo nella tua app per eseguire attività di gioco complesse, come Frame Pacing. |
| glance | Crea layout per superfici remote utilizzando un'API in stile Jetpack Compose. |
| glance.wear | Glance Wear è una libreria per la creazione di widget per Wear OS |
| graphics | Sfrutta le funzionalità grafiche in più release della piattaforma Android |
| gridlayout | Implementa un layout a griglia. |
| health | Crea applicazioni per la salute efficienti in modo indipendente dalla piattaforma. |
| health.connect | Consente agli sviluppatori di leggere o scrivere i record di salute e fitness degli utenti. |
| heifwriter | Codifica un'immagine o una raccolta di immagini in formato HEIF utilizzando i codec disponibili sul dispositivo Android. |
| ink | Ispira le migliori app per prendere note, disegnare e creare. Riduci la barriera all'entrata per gli sviluppatori per esperienze di inchiostrazione belle e ad alte prestazioni. |
| input | Riduci la latenza delle interazioni di input prevedendo i futuri MotionEvent |
| interpolator | Utilizza gli interpolatori di animazione sulle piattaforme meno recenti. |
| javascriptengine | Consenti alla tua app per Android di valutare JavaScript. |
| jetifier | Uno strumento autonomo che esegue la migrazione delle dipendenze di una libreria dalla libreria di supporto obsoleta alle dipendenze AndroidX equivalenti. |
| leanback | Utilizza Compose per TV anziché questo artefatto. |
| legacy | Questo artefatto e le relative classi sono obsoleti. A partire da Android 8, le limitazioni dei controlli in background rendono questa classe non più utile. |
| lint | Controlli Lint per verificare l'utilizzo delle API Gradle |
| loader | Carica i dati per l'UI che sopravvivono alle modifiche di configurazione. |
| localbroadcastmanager | Questo artefatto e le relative classi sono obsoleti. Utilizza invece LiveData o flussi reattivi. |
| media | Condividi i contenuti e i controlli multimediali con altre app. Sostituito da media3. |
| media3 * | Librerie di supporto per i casi d'uso multimediali. |
| mediarouter | Consenti la visualizzazione e la riproduzione di contenuti multimediali sui dispositivi riceventi remoti utilizzando un'interfaccia utente comune. |
| multidex | Esegui il deployment di applicazioni con più file dex sui dispositivi precedenti ad Android 5. |
| metrics | Monitora e segnala varie metriche di runtime per la tua applicazione |
| navigation3 | Navigation 3 è una nuova libreria di navigazione progettata per funzionare con Compose. |
| navigationevent | La libreria Navigation Event fornisce un'API KMP-first per la gestione del pulsante Indietro del sistema e del [pulsante Indietro predittivo](/guide/navigation/custom-back/predictive-back-gesture). |
| palette | Estrai le tavolozze di colori rappresentative dalle immagini. |
| Una libreria per aggiungere funzionalità di visualizzazione PDF all'interno delle app. | |
| percentlayout | Questo artefatto e le relative classi sono obsoleti. Utilizza invece ConstraintLayout e i layout associati. |
| performance | Fornisce annotazioni di origine per le ottimizzazioni del rendimento. |
| photopicker | Questa libreria fornisce un'integrazione per Compose e Android Views per il selettore di foto incorporato. |
| preference | Crea schermate di impostazioni interattive senza dover interagire con lo spazio sul dispositivo o gestire l'UI. |
| Stampa foto, documenti e altre immagini e grafiche dalla tua app. | |
| privacysandbox.activity | DA FARE |
| privacysandbox.ads | Questa libreria consente l'integrazione con le API di tutela della privacy, che fanno parte di Privacy Sandbox su Android. |
| privacysandbox.plugins | Plug-in Gradle della libreria SDK Privacy Sandbox di Android |
| privacysandbox.sdkruntime | Questa libreria fornisce componenti per i consumatori che tengono conto di SdkRuntime |
| privacysandbox.tools | Una libreria per utilizzare la funzionalità Privacy Sandbox in Android |
| privacysandbox.ui | DA FARE |
| profileinstaller | Consente alle librerie di precompilare le tracce di compilazione AOT da leggere da ART. |
| recommendation | Promuovi i contenuti nella schermata Home di Android TV Launcher. |
| recyclerview | Visualizza grandi set di dati nell'UI riducendo al minimo la memoria utilizzata. |
| remotecallback | Crea un wrapper che semplifica la fornitura di un PendingIntent da parte degli sviluppatori. |
| resourceinspection | Mostra gli attributi delle visualizzazioni personalizzate in Live Layout Inspector di Android Studio. |
| savedstate | Scrivi componenti collegabili che salvano lo stato dell'UI quando un processo termina e lo ripristinano quando il processo viene riavviato. |
| security | Gestisci le chiavi in modo sicuro e cripta file e sharedpreferences. |
| sharetarget | Fornisci la compatibilità con le versioni precedenti per l'utilizzo delle scorciatoie come target di condivisione diretta. |
| slice | Visualizza gli elementi dell'UI basati su modelli al di fuori della tua app. |
| slidingpanelayout | Implementa un pattern UI del riquadro scorrevole. |
| startup | Implementa un modo semplice ed efficiente per inizializzare i componenti all'avvio dell'app. |
| sqlite | Utilizza i database SQLite locali. Se possibile, utilizza invece Room. |
| swiperefreshlayout | Implementa il pattern UI di scorrimento per aggiornare. |
| test.uiautomator | Framework per i test funzionali dell'UI tra le app |
| textclassifier | Identifica conversazioni, link, selezioni e altre costruzioni simili nel testo. |
| tracing | Scrivi gli eventi di traccia nel buffer di traccia di sistema. |
| transition | Anima il movimento nell'UI con layout di inizio e fine. |
| tv | Fornisce agli sviluppatori funzionalità di Compose e Material Design per scrivere applicazioni per TV |
| tvprovider | Fornisci canali Android TV. |
| text | DA FARE |
| xr.arcore | Porta i contenuti digitali nel mondo reale con le funzionalità di percezione. |
| xr.compose | Crea in modo dichiarativo layout UI spaziali che sfruttano le funzionalità spaziali di Android XR. |
| xr.compose.material3 | Crea con componenti e layout Material che si adattano a XR |
| xr.glimmer | Linguaggio di progettazione e toolkit UI per la creazione di esperienze Android XR ottimizzate |
| xr.projected | Crea esperienze che sfruttano le funzionalità uniche dei dispositivi XR connessi. |
| xr.runtime | Avvia la sessione AR o 3D personalizzata con il nostro runtime nativo. |
| xr.scenecore | Crea e manipola il grafico della scena Android XR con contenuti 3D. |
| vectordrawable | Esegui il rendering della grafica vettoriale. |
| versionedparcelable | Fornisce un formato di serializzazione binaria stabile e compatto che può essere trasmesso tra i processi o reso persistente in modo sicuro. |
| viewpager | Visualizza visualizzazioni o fragment in formato scorrevole. Se possibile, utilizza invece viewpager2. |
| viewpager2 | Visualizza visualizzazioni o fragment in formato scorrevole. |
| wear | Crea applicazioni per gli smartwatch Wear OS by Google. |
| wear.compose | Scrivi applicazioni Jetpack Compose per i dispositivi Wear OS fornendo funzionalità per supportare diverse dimensioni dei dispositivi e gesture di navigazione. |
| wear.compose.remote | DA FARE |
| wear.protolayout | Questa libreria consente di definire un insieme di layout UI ed espressioni non UI da eseguire/valutare su superfici remote. |
| wear.tiles | Crea applicazioni per gli smartwatch Wear OS by Google. |
| wear.watchface | Crea applicazioni per gli smartwatch Wear OS by Google. |
| wear.watchfacepush | Watch Face Push consente a un'app per Wear OS di installare un quadrante su un orologio in modo programmatico. |
| webgpu | Un'API GPU moderna per grafica e calcolo da Kotlin. |
| webkit | Utilizza le API WebView moderne su Android 5 e versioni successive. |
| window | Aiuta a supportare diversi fattori di forma dei dispositivi, come i dispositivi pieghevoli. |
| window.extensions.core | Le API principali per le estensioni della libreria Window Manager |