Visão geral do CameraX   Parte do Android Jetpack.

O CameraX é uma biblioteca de suporte do Jetpack criada para facilitar o desenvolvimento de apps de câmera. Ele fornece uma superfície de API consistente e fácil de usar, que funciona na maioria dos dispositivos Android e é compatível com versões anteriores ao Android 5.0 (nível 21 da API).

Embora o CameraX aproveite os recursos do camera2, ele usa uma abordagem mais simples que reconhece o ciclo de vida e é baseada nos casos de uso. Ele também resolve problemas de compatibilidade de dispositivos para você não precisar incluir códigos específicos de dispositivos na sua base de código. Esses recursos reduzem a quantidade de código que você precisa escrever ao adicionar recursos da câmera ao seu app.

Por fim, o CameraX permite aos desenvolvedores aproveitar as mesmas experiências e recursos de câmera de apps pré-instalados, com apenas duas linhas de código. As extensões do CameraX são complementos opcionais que permitem adicionar efeitos em dispositivos compatíveis. Esses efeitos incluem bokeh (retrato), HDR, modo noturno e retoque facial.

Benefícios principais

O CameraX melhora a experiência do desenvolvedor das seguintes maneiras:

Ampla cobertura de dispositivos

O CameraX foi projetado para oferecer suporte a dispositivos com o Android 5.0 (API de nível 21) e versões mais recentes, o que representa mais de 94% dos dispositivos Android atuais.

Facilidade de uso

O CameraX apresenta os casos de uso, que permitem que você se concentre na tarefa a ser executada em vez de gastar tempo gerenciando nuances específicas do dispositivo. A maioria dos casos de uso de câmera comuns têm suporte para mais recursos que são constantemente adicionados:

Novamente, esses casos de uso funcionam em todos os dispositivos com Android 5.0 (API de nível 21) ou versões mais recentes, garantindo que o mesmo código funcione na maior parte dos dispositivos que estão no mercado.

Consistência entre dispositivos

Figura 2. O laboratório de testes automatizado do CameraX garante uma experiência de API consistente entre muitos tipos de dispositivos e fabricantes.

Gerenciar o comportamento consistente da câmera entre apps é difícil. Há muito a ser considerado, incluindo proporção, orientação, rotação, tamanho da visualização e tamanho da imagem de alta resolução. Com o CameraX, esses comportamentos básicos funcionam sem problemas.

Estamos investindo em um laboratório para fazer testes automatizados com o CameraX para vários comportamentos de câmera em diversos dispositivos e em todas as variações de sistemas operacionais desde o Android 5.0 (API de nível 21). Esses testes são realizados continuamente para identificar e corrigir vários problemas.

Nosso objetivo é reduzir significativamente sua necessidade de fazer testes ao longo do tempo.

Novas experiências de câmera

Figura 3. Imagem capturada com o efeito bokeh (retrato) usando o CameraX.

O CameraX tem um complemento opcional chamado Extensões, que permite acessar os mesmos recursos e capacidades de apps de câmera nativos com apenas duas linhas de código.

As extensões compatíveis incluem bokeh (retrato), HDR, modo noturno e retoque facial. Esses recursos estão disponíveis apenas em dispositivos compatíveis.

Estudo de caso

Para saber como o CameraX simplificou o desenvolvimento para o Monzo, consulte o estudo de caso dele.

Outros recursos

Para saber mais sobre o CameraX, consulte os seguintes recursos.

Codelab

  • Introdução à CameraX
  • Exemplo de código

  • App de exemplo oficial do CameraX (link em inglês)