Jetpack Android
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
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 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 frammentazione
Riduci la complessità con librerie che funzionano in modo coerente su tutte le versioni e i dispositivi Android.
Librerie Jetpack Esplora tutte le librerie
* 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. |
ads | Ottenere un ID pubblicità con o senza Play Services. |
annotazione | Esponi metadati che aiutano gli strumenti e gli altri sviluppatori a comprendere il codice della tua app. |
arch.core | Helper per altre dipendenze dell'architettura, incluse le regole di test JUnit che possono essere utilizzate con LiveData. |
asynclayoutinflater | Infla i layout in modo asincrono per evitare scatti nell'interfaccia utente. |
Compilazione automatica | Migliora l'accuratezza della compilazione automatica estendendo i suggerimenti. |
benchmark | Misura con precisione le prestazioni del codice in Android Studio. |
biometrico | Effettua l'autenticazione con le credenziali del dispositivo o con la biometria ed esegui operazioni di crittografia. |
bluetooth | Utilizza le funzionalità Bluetooth della piattaforma Android con API compatibili con le versioni precedenti. |
browser | Mostrare le pagine web nel browser predefinito dell'utente. |
camera.viewfinder | Mirino componibile autonomo e basato sulla visualizzazione per la fotocamera" |
car-app | Crea app basate su modelli per Android Auto e Android Automotive OS. |
cardview | Implementa il pattern di schede di Material Design con angoli arrotondati e ombreggiature. |
raccolta | Riduci l'impatto sulla memoria delle collezioni nuove ed esistenti di piccole dimensioni. |
compose.animation | Creare animazioni nelle loro applicazioni Jetpack Compose per arricchire l'esperienza utente. |
compose.compiler | Trasforma le funzioni @Composable e abilita le ottimizzazioni con un plug-in del compilatore Kotlin. |
compose.foundation | Scrivi applicazioni Jetpack Compose con componenti di base pronti all'uso ed espandi la base per creare i componenti del tuo sistema di progettazione. |
compose.material | Crea 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.material3 | Crea 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.adaptive | Utilizza 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.runtime | Componenti 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.ui | Componenti fondamentali dell'interfaccia utente di composizione 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 visualizza i dati di ContentProvider in un thread in background. |
coordinatorlayout | Posiziona i widget di primo livello dell'applicazione, come AppBarLayout e FloatingActionButton. |
core | Scegli come target le API e le funzionalità 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 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.registry | Per 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. |
cursoradapter | Esponi i dati del cursore a un widget ListView. |
customview | Implementa visualizzazioni personalizzate. |
datastore | Memorizza i dati in modo asincrono, coerente e transazionale, superando alcuni degli svantaggi di SharedPreferences |
documentfile | Visualizza un file del documento. |
draganddrop | Accettare i dati trascinati da un'altra app o all'interno di un'app e mostrare un'affordance del target di rilascio coerente. |
drawerlayout | Implementa un widget del riquadro di Material Design. |
dynamicanimation | Crea animazioni fluide con un'API di animazione basata sulla fisica. |
emoji | Mostrare le emoji sui dispositivi attuali e meno recenti. |
emoji2 | Mostrare le emoji sui dispositivi attuali e meno recenti. |
enterprise | Crea applicazioni pronte per le aziende. |
exifinterface | Leggere e scrivere i tag EXIF dei file immagine. |
giochi | Utilizza l'SDK Android Games in modo nativo nella tua app per eseguire attività complesse per i giochi, come il frame pacing. |
Riepilogo | Crea layout per piattaforme remote utilizzando un'API in stile Jetpack Compose. |
graphics | Sfrutta le funzionalità di grafica su più release della piattaforma Android |
gridlayout | Implementa un layout a griglia. |
salute | Creare applicazioni per la salute ad alte prestazioni in modo indipendente dalla piattaforma. |
health.connect | Consente agli sviluppatori di leggere o scrivere i dati relativi a salute e attività fisica dell'utente. |
heifwriter | Codifica un'immagine o una raccolta di immagini in formato HEIF utilizzando i codec disponibili sul dispositivo Android. |
ink | Creare 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à. |
input | Riduci la latenza delle interazioni con i dati di input prevedendo MotionEvent futuri |
interpolator | Utilizzare gli interpolatori di animazione su piattaforme meno recenti. |
javascriptengine | Consenti all'app per Android di valutare JavaScript. |
jetifier | Uno strumento autonomo che esegue la migrazione delle dipendenze di una libreria dalla libreria di supporto deprecata alle dipendenze AndroidX equivalenti. |
leanback | Utilizza Compose per TV anziché questo elemento. |
legacy | Questo 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. |
lint | I controlli Lint verificano l'utilizzo delle API Gradle |
loader | Carica i dati per l'interfaccia utente che rimangono invariati dopo le modifiche alla configurazione. |
localbroadcastmanager | Questo elemento e i relativi classi sono deprecati. Utilizza invece LiveData o stream reattivi. |
media | Condividere contenuti multimediali e controlli con altre app. Sostituito da media2. |
media2 | Condividere contenuti multimediali e controlli con altre app. |
media3 * | Supporta le librerie per i casi d'uso di contenuti multimediali. |
mediarouter | Consente la visualizzazione e la riproduzione dei contenuti multimediali sui dispositivi di ricezione remoti utilizzando un'interfaccia utente comune. |
multidex | Esegui il deployment di applicazioni con più file dex su dispositivi precedenti ad Android 5. |
metriche | Monitora e genera report su varie metriche di runtime per la tua applicazione |
palette | Estrai tavolozze di colori rappresentative dalle immagini. |
Una libreria per aggiungere funzionalità di visualizzazione di PDF all'interno delle app. | |
percentlayout | Questo elemento e i relativi classi sono deprecati. Utilizza invece ConstraintLayout e i layout associati. |
preference | Crea schermate di impostazioni interattive senza dover interagire con lo spazio di archiviazione del dispositivo o gestire l'interfaccia utente. |
stampare | 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 incentrate sulla 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 SdkRuntime consapevoli |
privacysandbox.tools | Una libreria per utilizzare la funzionalità Privacy Sandbox in Android |
privacysandbox.ui | DA FARE |
profileinstaller | Consente alle librerie di precompilare in anticipo le tracce di compilazione da leggere da ART. |
consiglio | Promuovere i contenuti nella schermata Home di Avvio app Android TV. |
recyclerview | Visualizza grandi set di dati nell'interfaccia utente riducendo al minimo l'utilizzo della memoria. |
remotecallback | Crea un wrapper che consenta agli sviluppatori di fornire più facilmente un PendingIntent. |
resourceinspection | Mostra gli attributi delle visualizzazioni personalizzate in Layout Inspector in tempo reale di Android Studio. |
savedstate | Scrivi 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. | |
sharetarget | Fornire la compatibilità con le versioni precedenti per l'utilizzo delle scorciatoie come destinazioni di condivisione diretta. |
slice | Mostrare elementi dell'interfaccia utente basati su modelli al di fuori dell'app. |
slidingpanelayout | Implementa un pattern di interfaccia utente con riquadro scorrevole. |
startup | Implementa un modo semplice e performante per inizializzare i componenti all'avvio dell'app. |
sqlite | Lavora con i database SQLite locali. Se possibile, utilizza Room. |
swiperefreshlayout | Implementa il pattern di interfaccia utente di scorrimento per l'aggiornamento. |
test.uiautomator | Framework per i test dell'interfaccia utente funzionale tra app |
classificatore_testo | Identifica conversazioni, link, selezioni e altri costrutti simili nel testo. |
rintracciamento | Scrive gli eventi traccia nel buffer delle tracce di sistema. |
transition | Anima il movimento nell'interfaccia utente con layout di inizio e fine. |
tv | Fornisce agli sviluppatori le funzionalità di Compose e Material Design per scrivere applicazioni per la TV |
tvprovider | Fornire canali Android TV. |
vectordrawable | Esegui il rendering di immagini vettoriali. |
versionedParcelable | Fornisce un formato di serializzazione binario stabile e compatto che può essere trasmesso tra i processi o mantenuto in modo sicuro. |
viewpager | Visualizza le visualizzazioni o i frammenti in un formato scorrevole. Se possibile, utilizza invece viewpager2. |
viewpager2 | Visualizza le visualizzazioni o i frammenti in un formato scorrevole. |
wear | Creare applicazioni per smartwatch Wear OS by Google. |
wear.compose | Scrivi applicazioni Jetpack Compose per dispositivi indossabili fornendo funzionalità per supportare dispositivi, dimensioni, forme e gesti di navigazione specifici per i dispositivi indossabili. |
wear.protolayout | Questa libreria consente di definire un insieme di layout dell'interfaccia utente ed espressioni non UI da eseguire in rendering/valutazione su piattaforme remote. |
wear.tiles | Creare applicazioni per smartwatch Wear OS by Google. |
wear.watchface | Creare applicazioni per smartwatch Wear OS by Google. |
webkit | Utilizza le API WebView moderne su Android 5 e versioni successive. |
window | Consente di supportare diversi fattori di forma dei dispositivi, ad esempio i dispositivi pieghevoli. |
window.extensions.core | API di base per le estensioni della libreria Window Manager |
Novità
- 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
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
App di esempio girasole
Scopri come le librerie Jetpack più popolari vengono utilizzate insieme in un'app a livello di produzione