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

Hi các em, trong bài viết này, thầy giới thiệu tới các em 2 cách để sử dụng Camera trong Android nhé .

Cách 1 : Sử dụng Intent để gọi ứng dụng Camera trong điện thoại – Cách này dễ nhất, nhanh nhất và cũng tiện nhất

Cách 2 : Sử dụng API Camera của Android SDK. Các này dài dòng hơn tuy nhiên lập trình viên có thể tùy biến, lựa chọn với Camera Preview hoặc tích hợp vào ứng dụng

Cách 1 : Intent

Cách này rất dễ ngay trên trang chủ của Android Dev cũng có hướng dẫn chi tiết, thầy giới thiệu lại https://developer.android.com/training/camera/photobasics

Bước 1 : Khai báo quyền truy cập Camera trong file Manifest

Bước 2 : Khai báo phương thức gọi Camera với Action là ACTION_IMAGE_CAPTURE

Trong trường hợp Camera không khả dụng thì câu lệnh rơi vào catch

Bước 3 : Khai báo sự kiện callback để lấy ảnh thumbnail vừa chụp

Bước 4 : Lấy ảnh gốc

Thêm quyền đọc ghi vào bộ nhớ

Tạo hàm khởi tạo File và lưu trữ ảnh gốc khi chụp ảnh

Cập nhật thêm câu lệnh cho hàm dispatchTakePictureIntent đã tạo trước đó

đừng quên đổi pakage name màu xanh lá thành package name của ứng dụng nhé

Định nghĩa thư mục lưu ảnh gốc bằng FileProvider

Đừng quên đổi authorities bằng package name của ứng dụng nhé .
ví dụ : com.dotplays.fileprovider

Định nghĩa file_paths xml với nội dung

Bổ sung thêm 2 phương thức hiển thị ảnh đã chụp lên ImageView và cập nhật ảnh vào Gallery (Thư viện ảnh) của thiết bị . 2 phương thức được gọi trong callback onActivityResult

2 hàm setPic vs galleryAddPic


Mọi câu hỏi các em gửi về nhóm Học Lập trình Android – Huy Nguyễn nhé.

Chúc các em thành công

ở bài số 2, thầy sẽ hướng dẫn chi tiết triển khi Camera sử dụng Camera API nhé

Link dự án : https://github.com/huuhuybn/CameraIntentDemo