Обзор CameraX   Часть Android Jetpack.

CameraX – это библиотека Jetpack, которая упрощает разработку приложений для камеры. Для новых приложений мы рекомендуем использовать CameraX. Он предоставляет согласованный и простой в использовании API, который работает на подавляющем большинстве устройств Android и обратно совместим с Android 5.0 (уровень API 21). Если вы переносите приложение из Camera1, ознакомьтесь с руководством по переходу с Camera1 на CameraX.

Основные преимущества

CameraX улучшает работу разработчиков несколькими ключевыми способами.

Широкая совместимость с устройствами

CameraX поддерживает устройства с Android 5.0 (уровень API 21) и более поздними версиями ОС. Это более 98% всех устройств Android.

Удобство использования

CameraX делает упор на сценарии использования, что позволяет сосредоточиться на задаче, которую необходимо выполнить, а не на управлении нюансами, связанными с конкретным устройством. Поддерживаются наиболее распространенные сценарии использования камеры:

Синхронизация между устройствами

Рисунок 2. Автоматизированная тестовая лаборатория CameraX обеспечивает стабильную работу API на устройствах разных типов и производителей.

Поддерживать стабильное поведение камеры сложно. Вам нужно учитывать соотношение сторон, ориентацию, поворот, размер предварительного просмотра и размер изображения. С CameraX эти базовые функции просто работают.

У нас есть автоматизированная лаборатория тестирования CameraX, в которой мы проверяем работу камеры на разных устройствах и во всех версиях операционной системы, начиная с Android 5.0. Эти тесты выполняются постоянно, чтобы выявлять и устранять различные проблемы.

Расширения камеры

Рисунок 3. Изображение, снятое с эффектом боке (портрет) с помощью CameraX.

В CameraX есть необязательный API Extensions, который позволяет получить доступ к тем же функциям и возможностям, что и в стандартном приложении камеры на устройстве. Для этого нужно добавить всего две строки кода.

Расширения включают боке (портрет), расширенный динамический диапазон (HDR), ночной режим и ретушь лица. Все они требуют поддержки устройства.

Пример использования

Узнайте, как библиотека CameraX упростила разработку для Monzo, из истории успеха.

Документация

Дополнительные ресурсы

Чтобы узнать больше о CameraX, ознакомьтесь со следующими дополнительными ресурсами.

Практическая работа

  • Начало работы с CameraX
  • Пример кода

  • Примеры приложений CameraX