Panoramica di CameraX Componente di Android Jetpack.
CameraX è una libreria Jetpack realizzata per semplificare lo sviluppo di app per fotocamera. Per le nuove app, ti consigliamo di iniziare con CameraX. Fornisce un'API coerente e facile da usare, compatibile con la stragrande maggioranza dei dispositivi Android, con compatibilità con le versioni precedenti ad Android 5.0 (livello API 21). Se stai eseguendo la migrazione di un'app da Fotocamera1, consulta la nostra guida alla migrazione da Fotocamera1 a FotocameraX.
Vantaggi principali
CameraX migliora l'esperienza degli sviluppatori in diversi modi principali.
Ampia compatibilità con i dispositivi
CameraX supporta dispositivi con Android 5.0 (livello API 21) e versioni successive, che rappresentano oltre il 98% dei dispositivi Android esistenti.
Facilità d'uso
CameraX mette in risalto i casi d'uso, che consentono di concentrarsi sull'attività da svolgere invece di gestire le sfumature specifiche del dispositivo. Sono supportati i casi d'uso più comuni delle videocamere:
- Anteprima: visualizza un'immagine sullo schermo.
- Analisi delle immagini: accedi senza problemi a un buffer per utilizzarlo negli algoritmi, ad esempio per passare a ML Kit.
- Acquisizione immagini: salva le immagini.
- Acquisizione video: salva video e audio.
Regolarità tra dispositivi
![](https://developer.android.google.cn/static/images/training/camera/camerax/testing-lab.png?authuser=6&hl=it)
Figura 2. Il laboratorio di test automatizzato di CameraX garantisce un'esperienza API coerente su molti tipi di dispositivi e produttori.
Mantenere un comportamento coerente della videocamera è difficile. Devi considerare proporzioni, orientamento, rotazione, dimensioni dell'anteprima e dimensioni dell'immagine. Con CameraX, questi comportamenti di base funzionano correttamente.
Gestiamo un laboratorio di test automatizzato di CameraX che verifica vari comportamenti della videocamera su una gamma di dispositivi e su tutte le versioni di sistema operativo a partire da Android 5.0. Questi test vengono eseguiti su base continuativa per identificare e risolvere un'ampia gamma di problemi.
Estensioni per fotocamera
![](https://developer.android.google.cn/static/images/training/camera/camerax/portrait-mode.png?authuser=6&hl=it)
Figura 3. Un'immagine acquisita con l'effetto bokeh (ritratto) con CameraX.
CameraX dispone di un'API Estensioni facoltativa che ti consente di accedere alle stesse caratteristiche e capacità dell'app per videocamera nativa di un dispositivo con appena due righe di codice.
Le estensioni includono bokeh (ritratto), HDR (High Dynamic Range), modalità notturna e ritocco viso, e tutte richiedono il supporto del dispositivo.
Case study
Per scoprire in che modo CameraX ha semplificato lo sviluppo per Monzo, consulta il case study.
Documentazione
- Architettura di CameraX
- Opzioni di configurazione
- Implementare un'anteprima
- Analisi delle immagini
- Acquisizione di immagini
- Acquisizione video
- Estensioni fotocamera
- Trasformazione dell'output
- Rotazioni dei casi d'uso
- Dispositivi testati di recente
Risorse aggiuntive
Per saperne di più su CameraX, consulta le seguenti risorse aggiuntive.
Codelab
Esempio di codice