Lập trình Android, Series lập trình Android cơ bản

Bài 7: Content Provider trong Android (Lập trình Android cơ bản)

Lập trình android cơ bản

Content Provider cho phép bạn lưu trữ dữ liệu ở trên thiết bị và nhiều ứng dụng khác nhau có thể truy cập khi cần thiết. Một content provider làm việc giống như một cơ sở dữ liệu nơi bạn có thể truy vấn, sửa dữ liệu trong cơ sở dữ liệu, cũng như thêm hoặc xoá nó bằng cách sử dụng các phương thức insert(), update(), delete()query(). SQLITE database thường được dùng để lưu trữ dữ liệu trong android.

Một content provider được triển khai như một lớp con của lớp ContentProvider và phải triển khai một bộ APIs tiêu chuẩn để cho phép các ứng dụng khác có thể truy xuất dữ liệu của nó.

Content URIs

Để truy vấn dữ liệu của một content provider, bạn phải chỉ định đường dẫn truy vấn có dạng URI như sau:

<prefix>://<authority>/<data_type>/<id>

Dưới đây là định nghĩa từng phần khác nhau của URI:

Mô tả từng phần của một URI
1prefix
Nó luôn được đặt là content://
2authority
Chỉ định tên của content provider mà chúng ta muốn truy vấn tới, ví dụ như: contacts, browser. Đối với content provider của bên thứ ba nó có thể có được đặt như net.techchicken.information
3data_type
Chỉ ra trường củ thể của dữ liệu chúng ta muốn lấy được provider cung cấp. Ví dụ, nếu bạn muốn lấy tất cả thông tin liên hệ trong danh bạ điện thoại thì đường dẫn dữ liệu sẽ là people và URI của chúng ta sẽ là: content://contacts/people
4id
Chỉ rõ một bản ghi cụ thể trong tập dữ liệu, mỗi bản ghi sẽ được đánh dấu với một id duy nhất. Ví dụ, bạn muốn lấy một liên hệ có id là 5 trong danh bạ điện thoại thì URI sẽ là: content://contacts/people/5

Tạo một content provider

Dưới đây 5 bước đơn giản để bạn tạo ra một content provider của chính mình:

Bước 1: bạn phải khởi tạo một lớp Content Provider được kế thừa từ lớp cơ sở ContentProviderbaseclass.

Bước 2: bạn cần định nghĩa địa chỉ URI của Content Provider, sẽ được sử dụng để truy cập nội dung đó.

Bước 3: bạn sẽ phải tạo cơ sở dữ liệu để lưu trữ những nội dung cần thiết. Android thường sử dụng SQLite Database và các framework cần thiết để ghi đè phương thức onCreate() sẽ sử dụng phương thức SQLite Open Helper để tạo và mở cơ sở dữ liệu của Provider này. Khi ứng dụng của bạn bắt đầu chạy, phương thức onCreate() được gọi trên mỗi luồng ứng dụng chính.

Bước 4: bạn sẽ phải triển khai các truy vấn Content Provider để thực hiện các hoạt động cơ sở dữ liệu cụ thể.

Bước 5: đăng ký Content Provider của bạn trong activity file bởi sử dụng thẻ <provider> .

Sau đây là danh sách bạn cần ghi đè trong lớp Content Provider:

onCreate() Phương thức này được gọi khi Provider được bắt đầu.

query() Phương thức này nhận 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 trong Content Provider.

delete() Phương thức này xóa một bản ghi đang tồn tại từ Content Provider.

update() Phương thức này cập nhật một bản ghi đang tồn tại trong Content Provider.

getType() Phương thức này trả về kiểu MIME của dữ liệu tại URI đã cho.

Được gắn thẻ ,

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *