Ringkasan CameraX

CameraX adalah library dukungan Jetpack, yang dibuat untuk memudahkan Anda mengembangkan aplikasi kamera. CameraX memiliki antarmuka API yang konsisten dan mudah digunakan yang dapat digunakan di sebagian besar perangkat Android, dengan kompatibilitas hingga Android 5.0 (API level 21).

Meskipun memanfaatkan kapabilitas camera2, CameraX menggunakan pendekatan berbasis kasus penggunaan yang lebih sederhana, yang memperhatikan siklus proses. CameraX juga menyelesaikan masalah kompatibilitas perangkat secara otomatis sehingga Anda tidak perlu menyertakan kode khusus perangkat dalam codebase. Fitur-fitur ini mengurangi jumlah kode yang perlu Anda tulis ketika menambahkan kapabilitas kamera ke aplikasi.

Terakhir, CameraX memungkinkan developer memanfaatkan pengalaman dan fitur kamera yang sama dengan yang disediakan oleh aplikasi kamera bawaan, dengan menambahkan dua baris kode saja. Ekstensi CameraX adalah add-on opsional yang memungkinkan Anda menambahkan efek seperti Potret, HDR, Mode Malam, dan Mode Beauty ke aplikasi Anda pada perangkat yang didukung.

Library CameraX masih dalam tahap alfa, karena antarmuka API-nya belum selesai dikerjakan. Penggunaan library Alfa dalam tahap produksi tidak direkomendasikan. Library harus sedapat mungkin menghindari ketergantungan pada library Alfa dalam tahap produksi, mengingat antarmuka API-nya dapat berubah sehingga tidak kompatibel dengan kode sumber dan binernya.

Manfaat utama

CameraX meningkatkan pengalaman developer melalui cara-cara berikut:

Kemudahan penggunaan

CameraX berfokus pada kompatibilitas

Gambar 1. CameraX menargetkan Android 5.0 (API level 21) dan yang lebih tinggi, sehingga mencakup sebagian besar perangkat Android

CameraX memperkenalkan kasus penggunaan, yang memungkinkan Anda untuk berfokus pada tugas yang perlu diselesaikan, bukannya menghabiskan waktu untuk mengelola variasi khusus perangkat. Ada beberapa kasus penggunaan dasar:

  • Pratinjau: menampilkan gambar di layar
  • Analisis gambar: mengakses buffer dengan lancar untuk digunakan dalam algoritme, misalnya untuk diteruskan ke MLKit
  • Pengambilan gambar: menyimpan gambar berkualitas tinggi

Kasus penggunaan ini berfungsi di semua perangkat yang menjalankan Android 5.0 (API level 21) atau yang lebih tinggi, sehingga memastikan bahwa kode yang sama dapat digunakan pada sebagian besar perangkat yang beredar di pasar.

Konsistensi antarperangkat

Gambar 2. Test lab CameraX otomatis memastikan pengalaman API yang konsisten pada berbagai jenis dan produsen perangkat.

Mengelola perilaku kamera yang konsisten di seluruh aplikasi merupakan tugas berat. Ada banyak hal yang perlu diperhatikan, seperti rasio tinggi lebar, orientasi, rotasi, ukuran pratinjau, dan ukuran gambar resolusi tinggi. Dengan CameraX, perilaku dasar ini dapat langsung difungsikan.

Kami berinvestasi dalam test lab CameraX otomatis yang menguji berbagai perilaku kamera pada bermacam-macam perangkat dan sistem operasi sejak Android 5.0 (API level 21). Pengujian ini dijalankan secara berkelanjutan untuk mengidentifikasi dan memperbaiki berbagai masalah.

Tujuan kami adalah, seiring waktu, mengurangi beban pengujian Anda secara signifikan.

Pengalaman kamera baru

Gambar 3. CameraX memberikan pengalaman dalam aplikasi baru seperti efek potret. Gambar diambil dengan Huawei Mate 20 Pro menggunakan CameraX.

CameraX memiliki add-on opsional, disebut Ekstensi, yang memungkinkan Anda untuk mengakses fitur dan kapabilitas yang sama dengan yang ada di aplikasi kamera native yang dikirimkan bersama perangkat, hanya dengan menambahkan dua baris kode.

Set kapabilitas pertama yang tersedia meliputi Potret, HDR, Mode Malam, dan Mode Beauty. Kemampuan ini tersedia pada perangkat yang didukung.

Referensi lainnya

Untuk mempelajari CameraX lebih lanjut, pelajari referensi tambahan berikut.

Codelab

  • Memulai CameraX
  • Menambahkan Fragmen CameraView ke aplikasi Anda
  • Contoh kode

  • Contoh aplikasi CameraX resmi