Chọn thư viện máy ảnh

Nếu muốn thêm chức năng máy ảnh vào ứng dụng Android, thì bạn có 3 lựa chọn chính sau đây:

Hầu hết các nhà phát triển nên sử dụng CameraX. CameraX là một thư viện Jetpack hỗ trợ hầu hết các thiết bị Android (Android 5.0 trở lên) và cung cấp một API cấp cao, nhất quán được thiết kế dành cho các trường hợp sử dụng phổ biến. CameraX giải quyết các vấn đề về khả năng tương thích của thiết bị, nhờ đó, bạn không phải thêm mã dành riêng cho thiết bị vào ứng dụng của mình.

CameraX được xây dựng dựa trên gói Camera2. Nếu bạn cần quyền điều khiển máy ảnh cấp thấp để hỗ trợ các trường hợp sử dụng phức tạp, thì Camera2 là một lựa chọn phù hợp, nhưng API phức tạp hơn so với CameraX. Ứng dụng này yêu cầu bạn quản lý các cấu hình dành riêng cho thiết bị. Giống như CameraX, Camera2 hoạt động trên Android 5.0 (API cấp độ 21) trở lên.

Lớp Camera Android ban đầu không còn được dùng nữa. Các ứng dụng mới phải sử dụng CameraX (nên dùng) hoặc Camera2. Các ứng dụng hiện có nên di chuyển để tận dụng các tính năng mới và tránh mất khả năng tương thích với các thiết bị trong tương lai.