[Android Nâng Cao] Camera trong Android – Phần 2

Nối tiếp phần 1, ở phần 2 này thầy hướng dẫn các em triển khi Camera trong Android, sử dụng Camera API trong Android SDK nhé.

Bài hướng dẫn khá dài, thầy sơ lược từ link gốc trên trang chủ android, mn có thể xem nếu cần

https://developer.android.com/guide/topics/media/camera

Để triển khai Camera với Camera API chúng ta có 2 sự lựa chọn là : Camera Camera2 api.
Hiện tại gói Camera đã bị deprecated từ API 21, tuy nhiên hầu hết các ứng dụng Android khi phát triển đều đặt Minimum API là 16 vì vậy trong bài này, thầy vẫn viết ví dụ cho Camera api dù nó bị gạch ngang trên Android Studio nhé mn

Để triển khai Camera cần làm các bước cơ bản sau :

The general steps for creating a custom camera interface for your application are as follows:

  • Detect and Access Camera – Kiểm tra tính khả dụng của thiết bị Camera trên máy
  • Create a Preview Class – Tạo class để nhận preview hình ảnh từ Camera – sử dụng đối tượng SurfaceView
  • Build a Preview Layout – Tạo layout để hiển thị hình ảnh preview
  • Setup Listeners for Capture – tạo hàm callback để lắng nghe sự kiện chụp ảnh
  • Capture and Save Files – tạo code save file ảnh,
  • Release the Camera – Tắt camera sau khi thoát app
  1. Detect and Access Camera

Kiểm tra tính khả dụng và lựa chọn Camera của thiết bị (Cam trước hoặc sau) vì hầu như các điện thoại bây giờ đều hỗ trợ 2 cam. 1 số tablet giá rẻ thì chỉ hỗ trợ 1 cam

2. Create a Preview Class

Chi tiết class CamPreview t gửi trong code mẫu dưới cùng của bài nhé

3.Build a Preview Layout

Hình ảnh Preview được hiển thị trên FrameLayout với id là container

4. Setup Listeners for Capture

1 điều quan trọng không thể thiếu đó là xin quyền từ phía người dùng để ứng dụng được phép truy cập Camera

Xin quyền ở Manifest nữa nhé

Cuối cùng, quan trọng không kém là tính toán tỉ lệ và chiều hiển thị của Camera sao cho chính xác

Code full của ví dụ : https://github.com/huuhuybn/CameraIntentDemo

Mọi câu hỏi thắc mắc các em gửi về fanpage Huy Nguyễn Android hoặc nhóm Học lập trình Android Huy Nguyễn nhé .

Chúc mn 1 buổi tối vui vẻ