The camera enables an exciting range of application use cases such as capturing
video and images for sharing with social media, to creating utilities such as
document and QR Code scanning. This developer center provides documentation and
resources to get started using the camera in your Android application.

## Build a camera application

To build a camera based application or incorporate camera into your
existing application, start by exploring the CameraX API: a streamlined API
for using the camera. This overview introduces CameraX and walks through
steps to use the camera.

[Overview of CameraX](https://developer.android.com/media/camera/camerax)

The CameraX Codelab provides an example based approach to learning CameraX.

[CameraX Codelab](https://developer.android.com/codelabs/camerax-getting-started)

## Migrate from Camera1

If your app uses the deprecated Camera class ("Camera1"), consider
performing a migration to CameraX, which will provide a stable and
robust platform that allows your application to take advantage of new camera
capabilities.

[Migrate Camera1 to CameraX](https://developer.android.com/media/camera/camerax/camera1-to-camerax)

## Level up your camera application

CameraX facilitates direct integration with the [Machine Learning Toolkit
library](https://developers.google.com/ml-kit), MLKit. This allows camera to be
combined with MLKit to create things like QR scanners, document scanners and
more.

[Create a QR Code scanner](https://developer.android.com/media/camera/camerax/mlkitanalyzer)

Camera Extensions allows your application access to special device capabilities
such as Night Mode image capture or Bokeh (Portrait) modes. Learn how to access
Camera Extensions using both CameraX and Camera2 here.

[Extend your app's camera experience](https://developer.android.com/media/camera/camerax/extensions-api)