Android – Content Providers

0
337

Một content provider cung cấp dữ liệu từ một ứng dụng khác theo yêu cầu. Các yêu cầu này được xử lý theo các phương thức của lớp ContentResolver. Content provider có thể sử dụng các cách khác nhau để lưu trữ dữ liệu và dữ liệu có thể được lưu trữ trong cơ sở dữ liệu, trong các tệp, hoặc thậm chí qua mạng.

content provider

Content provider cho phép bạn tập trung nội dung ở một nơi và có nhiều ứng dụng khác nhau truy cập vào nó khi cần thiết. Content provider hoạt động rất giống với cơ sở dữ liệu, bạn có thể truy vấn nó, chỉnh sửa nội dung, cũng như thêm hoặc xóa nội dung bằng cách sử dụng các phương thức insert(), update(), delete(), and query(). Trong hầu hết các trường hợp, dữ liệu này được lưu trữ trong cơ sở dữ liệu SQlite.

Một content provider được thực hiện dưới dạng lớp con của lớp ContentProvider và phải thực hiện một bộ APIs tiêu chuẩn cho phép các ứng dụng khác thực hiện giao dịch.

public class My Application extends  ContentProvider {
}

Content URIs

Để truy vấn một content provider, bạn chỉ định chuỗi truy vấn dưới dạng một URI có định dạng sau –

 Điều này bao gồm số bước đơn giản để tạo content provider của riêng bạn.
  • Trước hết bạn cần phải tạo một lớp Content Provider, lớp mở rộng của ContentProviderbaseclass.
  • Thứ hai, bạn cần xác định địa chỉ URI Content Provider của bạn sẽ được sử dụng để truy cập nội dung.
  • Tiếp theo bạn sẽ cần phải tạo cơ sở dữ liệu riêng của mình để giữ nội dung. Thông thường, Android sử dụng cơ sở dữ liệu SQLite và cần override phương thức onCreate(), phương thức này sẽ sử dụng phương thức trợ giúp mở SQLite để tạo hoặc mở cơ sở dữ liệu của provider. Khi ứng dụng của bạn được khởi chạy, trình xử lý onCreate() của từng Content Provider được gọi vào ứng dụng chính.
  • Tiếp theo, bạn sẽ phải thực hiện truy vấn Content Provider để thực hiện các hoạt động cơ sở dữ liệu khác nhau.
  • Cuối cùng đăng ký Content Provider trong tệp activity của bạn bằng thẻ <provider>.

Dưới đây là danh sách các phương thức mà bạn cần override trong lớp Content Provider để Content Provider của bạn hoạt động –

content provider

  • onCreate() Phương thức này được gọi khi Content Provider bắt đầu.
  • query() Phương thức này nhận được một yêu cầu từ người dùng. Kết quả được trả về dưới dạng một đối tượng Cursor.
  • insert() Phương thức này chèn một bản ghi mới vào Content Provider.
  • delete() Phương thức này xóa một bản ghi hiện có từ Content Provider.
  • update() Phương thức này cập nhật một bản ghi hiện có từ Content Provider.
  • getType() Phương thức này trả về kiểu MIME của dữ liệu tại URI đã cho.

Để xem các ví dụ về phần này, mời bạn đón theo dõi bài viết sau.

This site uses Akismet to reduce spam. Learn how your comment data is processed.