Google berkomitmen untuk mendorong terwujudnya keadilan ras bagi komunitas Kulit Hitam. Lihat caranya.

Ringkasan CameraX

CameraX adalah support library 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 saat menambahkan kapabilitas kamera ke aplikasi.

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

Inti dari library CameraX masih dalam tahap beta. Rilis beta sudah stabil secara fungsional dan memiliki tampilan API dengan fitur lengkap. Library ini siap untuk digunakan dalam produksi, namun mungkin masih berisi bug.

Untuk informasi selengkapnya tentang status setiap library, lihat halaman status library CameraX.

Manfaat utama

CameraX meningkatkan pengalaman developer melalui cara-cara berikut:

Kemudahan penggunaan

CameraX fokus 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 semua sistem operasi sejak Android 5.0 (API level 21). Pengujian ini dijalankan secara berkelanjutan untuk mengidentifikasi dan memperbaiki beragam masalah.

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

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 bawaan 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.

Studi kasus

Untuk melihat cara CameraX menyederhanakan pengembangan untuk Monzo, lihat studi kasusnya.

Referensi lainnya

Untuk mempelajari CameraX lebih lanjut, lihat referensi tambahan berikut.

Codelab

  • Memulai CameraX
  • Contoh kode

  • Contoh aplikasi CameraX resmi