The Android Developer Challenge is back! Submit your idea before December 2.

Descripción general de CameraX

CameraX es una biblioteca de compatibilidad de Jetpack creada para que el desarrollo de una app de cámara te resulte más fácil. Proporciona una superficie de API coherente y fácil de usar que funciona en la mayoría de los dispositivos Android, y ofrece compatibilidad con versiones anteriores hasta Android 5.0 (nivel de API 21).

Si bien aprovecha las funciones de Camera2, usa un enfoque más simple basado en casos prácticos que tienen en cuenta el ciclo de vida. También resuelve los problemas de compatibilidad por ti para que no tengas que incluir código específico de dispositivo en tu base de código. Estas funciones reducen la cantidad de código que tienes que escribir para agregar funciones de cámara a tu app.

Por último, CameraX permite a los desarrolladores aprovechar las mismas experiencias y funciones de cámara que proporcionan las apps de cámara preinstaladas, con solo dos líneas de código. Las extensiones de CameraX son complementos opcionales que te permiten agregar efectos, como el modo vertical, HDR, nocturno y de belleza, a tu aplicación en dispositivos compatibles.

La biblioteca de CameraX se encuentra en la etapa Alfa, ya que sus superficies de API todavía no se finalizaron. No recomendamos usar las bibliotecas Alfa en etapas de producción. Las bibliotecas deberían evitar por completo depender de bibliotecas Alfa en la producción, ya que sus superficies de API podrían cambiar en cuanto a incompatibilidad de origen y binaria.

Beneficios principales

CameraX mejora la experiencia del desarrollador de las siguientes maneras:

Facilidad de uso

CameraX se concentra en la compatibilidad

Figura 1: CameraX se orienta a Android 5.0 (nivel de API 21) y versiones posteriores, por lo que abarca la mayoría de los dispositivos Android.

CameraX presenta casos prácticos, lo que te permite concentrarte en la tarea que necesitas completar en lugar de tener que dedicar tiempo a administrar variaciones específicas del dispositivo. Los diferentes casos prácticos básicos son los siguientes:

Estos casos prácticos funcionan en todos los dispositivos que ejecutan Android 5.0 (nivel de API 21) o versiones posteriores, lo que garantiza que el mismo código funcionará en la mayoría de los dispositivos del mercado.

Coherencia entre dispositivos

Figura 2: El Test Lab de CameraX automatizado garantiza que habrá una experiencia de API coherente entre muchos tipos y fabricantes de dispositivos.

Resulta difícil mantener un comportamiento de cámara coherente entre apps. Se deben tener en cuenta muchos factores, como la relación de aspecto, la orientación, la rotación, el tamaño de la vista previa y el tamaño de imagen de alta resolución. Con CameraX, los comportamientos básicos simplemente funcionan.

Invertimos en un Test Lab automatizado de CameraX que prueba una variedad de comportamientos de cámara en diferentes dispositivos y sistemas operativos a partir de Android 5.0 (nivel de API 21). Las pruebas se realizan en forma continua para identificar y corregir una amplia variedad de problemas.

Nuestro objetivo es reducir la carga de las pruebas con el tiempo.

Nuevas experiencias de cámara

Figura 3: CameraX permite tener nuevas experiencias dentro de la app, como los efectos de modo vertical. Imagen capturada en Huawei Mate 20 Pro con CameraX.

CameraX tiene un complemento opcional, llamado Extensiones, que te permite acceder a las mismas funciones que las que se encuentran en la app nativa de cámara del dispositivo con solo dos líneas de código.

El primer conjunto de funciones disponibles incluye el modo vertical, HDR, nocturno y de belleza. Estas funciones están disponibles en dispositivos compatibles.

Recursos adicionales

Para obtener más información sobre CameraX, consulta los siguientes recursos adicionales.

Codelabs

  • Cómo comenzar a usar CameraX
  • Cómo agregar un fragmento de CameraView a tu app
  • Muestra de código

  • App de muestra de CameraX oficial