Máy Chọn Ảnh | Phát triển Android

Apr 22 2023
Android 13 đã giới thiệu API PhotoPicker, cho phép các nhà phát triển dễ dàng chọn ảnh và video từ thiết bị của người dùng. API PhotoPicker cung cấp giao diện thân thiện với người dùng để duyệt và chọn ảnh cũng như video, giao diện này có thể được tích hợp vào bất kỳ ứng dụng Android nào.

Android 13 đã giới thiệu API PhotoPicker, cho phép các nhà phát triển dễ dàng chọn ảnh và video từ thiết bị của người dùng. API PhotoPicker cung cấp giao diện thân thiện với người dùng để duyệt và chọn ảnh cũng như video, giao diện này có thể được tích hợp vào bất kỳ ứng dụng Android nào. Trong bài viết này, chúng ta sẽ khám phá API PhotoPicker và cung cấp một ví dụ về cách nó có thể được sử dụng trong ứng dụng Android.

API PhotoPicker là một phần của API MediaStore, cung cấp quyền truy cập vào các tệp phương tiện trên thiết bị của người dùng. API PhotoPicker cho phép nhà phát triển khởi chạy hoạt động do hệ thống cung cấp để hiển thị lưới ảnh và video từ thiết bị của người dùng. Người dùng có thể duyệt và chọn một hoặc nhiều ảnh và video, sau đó sẽ được đưa trở lại ứng dụng gọi điện.

API PhotoPicker cung cấp một số tùy chọn tùy chỉnh, chẳng hạn như chỉ định số lượng mục tối đa có thể được chọn, lọc theo loại phương tiện và chỉ định thứ tự sắp xếp của các mục. Ngoài ra, các nhà phát triển có thể chỉ định lựa chọn ban đầu cho các mục, mục này sẽ được chọn trước khi PhotoPicker được khởi chạy.

Ví dụ:

Để sử dụng API PhotoPicker trong ứng dụng Android, trước tiên bạn cần thêm phần phụ thuộc MediaStore vào tệp build.gradle của ứng dụng:

dependencies {
    implementation 'androidx.media:media:1.4.0'
}

val intent = Intent(Intent.ACTION_PICK, MediaStore.Images.Media.EXTERNAL_CONTENT_URI)
intent.putExtra(Intent.EXTRA_ALLOW_MULTIPLE, true)
startActivityForResult(intent, REQUEST_CODE_PHOTO_PICKER)

Để nhận các mục đã chọn, chúng ta cần ghi đè phương thức onActivityResult() trong hoạt động của mình:

override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) {
    super.onActivityResult(requestCode, resultCode, data)
    if (requestCode == REQUEST_CODE_PHOTO_PICKER && resultCode == Activity.RESULT_OK) {
        val uris = mutableListOf<Uri>()
        val clipData = data?.clipData
        if (clipData != null) {
            for (i in 0 until clipData.itemCount) {
                val uri = clipData.getItemAt(i).uri
                uris.add(uri)
            }
        } else {
            val uri = data?.data
            if (uri != null) {
                uris.add(uri)
            }
        }
        // Do something with the selected URIs
    }
}

API bộ chọn ảnh

Phần kết luận:

API PhotoPicker trong Android 13 trở đi cung cấp một cách thuận tiện cho các nhà phát triển để cho phép người dùng chọn ảnh và video từ thiết bị của họ. Bằng cách tích hợp PhotoPicker vào ứng dụng của mình, bạn có thể cung cấp trải nghiệm người dùng liền mạch và trực quan để duyệt và chọn tệp phương tiện. Mã ví dụ được cung cấp trong bài viết này sẽ cung cấp cho bạn một điểm khởi đầu tốt để sử dụng API PhotoPicker trong ứng dụng của riêng bạn.