Content providers là gì? – w3seo

Rate this post

Trong Android, Content Providers là một thành phần rất quan trọng phục vụ mục đích của cơ sở dữ liệu quan hệ để lưu trữ dữ liệu của các ứng dụng. Vai trò của Content Providers trong hệ thống Android giống như một kho lưu trữ trung tâm, trong đó dữ liệu của các ứng dụng được lưu trữ và nó tạo điều kiện cho các ứng dụng khác truy cập một cách an toàn và sửa đổi dữ liệu đó dựa trên yêu cầu của người dùng.

Hệ thống Android cho phép Content Providers lưu trữ dữ liệu ứng dụng theo một số cách. Người dùng có thể quản lý để lưu trữ dữ liệu ứng dụng như hình ảnh, âm thanh, video và thông tin liên hệ cá nhân bằng cách lưu trữ chúng trong Cơ sở dữ liệu SQLite, trong tệp hoặc thậm chí trên mạng. Để chia sẻ dữ liệu, Content Providers có một số quyền nhất định được sử dụng để cấp hoặc hạn chế quyền cho các ứng dụng khác can thiệp vào dữ liệu.

Các bài viết liên quan:

Content URI

Content URI (Định danh tài nguyên đồng nhất) là khái niệm chính của các Content Providers. Để truy cập dữ liệu từ Content Providers, URI được sử dụng như một chuỗi truy vấn.

Cấu trúc của Content URI: content://authority/optionalPath/optionalID

  • Chi tiết về các phần khác nhau của Content URI:
  1. content: // – Phần bắt buộc của URI vì nó thể hiện rằng URI đã cho là Content URI.
  2. authority – Ký hiệu tên của Content Providers như danh bạ, trình duyệt, v.v. Phần này phải là duy nhất cho mọi Content Providers.
  3. optionPath – Chỉ định loại dữ liệu được cung cấp bởi Content Providers. Điều cần thiết là phần này giúp các Content Providers hỗ trợ các loại dữ liệu khác nhau không liên quan đến nhau như tệp âm thanh và video.
  4. optionID – Nó là một giá trị số được sử dụng khi có nhu cầu truy cập vào một bản ghi cụ thể.

Nếu một ID được đề cập trong URI thì đó là URI dựa trên id, nếu không thì là URI dựa trên thư mục.

Xem thêm Activity android – mind map(sơ đồ tư duy)

Operations trong Content Providers

Có thể thực hiện bốn thao tác cơ bản trong Content Providers là Tạo, Đọc, Cập nhật và Xóa. Các hoạt động này thường được gọi là hoạt động CRUD.

  • Create: Thao tác tạo dữ liệu trong Content Providers.
  • Read: Được sử dụng để tìm nạp dữ liệu từ Content Providers.
  • Update: Để sửa đổi dữ liệu hiện có.
  • Delete: Để xóa dữ liệu hiện có khỏi bộ nhớ.

Hoạt động của Content Providers

Các thành phần giao diện người dùng của các ứng dụng android như Activity và Fragment sử dụng một đối tượng CursorLoader để gửi các yêu cầu truy vấn tới ContentResolver. Đối tượng ContentResolver gửi các yêu cầu (như tạo, đọc, cập nhật và xóa) đến ContentProvider với tư cách là một ứng dụng khách. Sau khi nhận được yêu cầu, ContentProvider sẽ xử lý yêu cầu đó và trả về kết quả mong muốn. Dưới đây là một sơ đồ để biểu diễn các quá trình này dưới dạng hình ảnh.

Tạo Content Providers

Sau đây là các bước cần thiết phải làm theo để tạo Content Providers:

  1. Tạo một lớp trong cùng một thư mục chứa tệp MainActivity và lớp này phải mở rộng lớp cơ sở ContentProvider.
  2. Để truy cập nội dung, hãy xác định địa chỉ URI của Content Providers.
  3. Tạo cơ sở dữ liệu để lưu trữ dữ liệu ứng dụng.
  4. Triển khai sáu phương thức trừu tượng của lớp ContentProvider.
  5. Đăng ký Content Providers trong tệp AndroidManifest.xml bằng thẻ <provider>.

Xem thêm Serializable và Parcelable trong android

Sau đây là sáu phương thức trừu tượng và mô tả của chúng mà chúng cần thiết để ghi đè như một phần của lớp ContentProvider:

  1. query()

Một phương thức chấp nhận các đối số và tìm nạp dữ liệu từ

bảng mong muốn. Dữ liệu được gỡ bỏ dưới dạng đối tượng con trỏ.

  1. insert()

Để chèn một hàng mới trong cơ sở dữ liệu của Content provider.

Nó trả về URI nội dung của hàng được chèn.

  1. update()

Phương thức này được sử dụng để cập nhật các trường của một hàng hiện có.

Nó trả về số lượng hàng được cập nhật.

  1. delete()

Phương pháp này được sử dụng để xóa các hàng hiện có.

Nó trả về số hàng đã bị xóa.

  1. getType()

Phương thức này trả về Phần mở rộng Thư Internet Đa năng (MIME)

loại dữ liệu cho URI nội dung đã cho.

  1. onCreate()

Khi Content provider được tạo, hệ thống Android sẽ gọi phương thức này ngay lập tức để khởi tạo trình cung cấp.

Mục đích chính của Content provider là phục vụ như một kho lưu trữ dữ liệu trung tâm, nơi người dùng có thể lưu trữ và có thể tìm nạp dữ liệu. Quyền truy cập của kho lưu trữ này cũng được cấp cho các ứng dụng khác nhưng theo cách an toàn để phục vụ các yêu cầu khác nhau của người dùng. Sau đây là các bước liên quan đến việc triển khai một Content provider. Trong Content provider này, người dùng có thể lưu trữ tên của người và có thể tìm nạp dữ liệu được lưu trữ. Hơn nữa, một ứng dụng khác cũng có thể truy cập vào dữ liệu được lưu trữ và có thể hiển thị dữ liệu.

Xem thêm 20 Content creation tool( công cụ tạo nội dung)