Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 30 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
30
Dung lượng
593,14 KB
Nội dung
LẬPTRÌNHANDROIDNÂNG CAO Bài 7:TruycậpliệuContact Nội dung học Tổng quan Contacts Provider Truycập danh sách Contact Hiển thị thông tin chi tiết Contact Thay đổi Contact sử dụng Intent Hiển thị Quick Contact Badge Contact Provider Contacts Provider thành phần cung cấp nội dung Android Cung cấp ba loại liệu person, loại tương ứng với bảng cung cấp provider Contact Provider Ba bảng tham chiếu tới tên lớp contract Các lớp định nghĩa số content URI, tên cột, giá trị cột sử dụng ba bảng sau: Bảng ContactsContract.Contacts: thể contact khác nhau, dựa cột contact nguyên thủy (raw contact) Bảng ContactsContract.RawContacts: cung cấp thông tin liệu person, user account type Bảng ContactsContract.Data: cung cấp thông tin contact nguyên thủy Contact Provider Contacts Provider cung cấp thông tin liên hệ (contact) người dùng bao gồm liệu từ ứng dụng contacts ứng dụng mạng xã hội Trong ứng dụng, bạn truycập thơng tin contact sử dụng phương thức ContentResolver gửi intent tới ứng dụng Contacts Cung cấp phương thức để hiển thị danh sách contact, xem thông tin chi tiết contact, thay đổi thông tin contact sử dụng intent Contact nguyên thủy Contact nguyên thủy bao gồm liệu người dùng đến từ kiểu account cụ thể tên account Contact Provider cho phép nhiều dịch vụ online cung cấpliệu contact, Contacts Provider cho phép nhiều liệucontact nguyên thủy cho người dùng Nhiều liệucontact nguyên thủy cho phép người dùng liên kết nhiều liệu người dùng từ nhiều account khác Hầu hết liệucontact nguyên thủy không lưu trữ bảng ContactsContract.RawContacts mà lưu trữ nhiều dòng bảng ContactsContract.Data Các cột liệu nguyên thủy quan trọng ACCOUNT_NAME: tên tài khoản contact nguyên thủy, ví dụ tên tài khoản google account địa Gmail người dùng thiết bị Android, ví dụ kiểu tài khoản Google account com.google ACCOUNT_TYPE:kiểu tài khoản contact nguyên thủy DELETED: cờ khóa cho contact nguyên thủy Các nguồn liệu nguyên thủy Giả sử người dùng “Emily Dickinson” có tài khoản sau thiết bị anh emily.dickinson@gmail.com emilyd@gmail.com Twitter account “belle_of_amherst” Người dùng kích hoạt chức Sync Contacts cho tài khoản Khi Emily Dickinson mở tài khoản trình duyệt, đăng nhập vào Gmail với tài khoản emily.dickinson@gmail.com thêm “Thomas Higginson” Sau đó, đăng nhập vào emilyd@gmail.com gửi cho “Thomas Higginson” email,“Thomas Higginson” tự động thêm vào contact Anh follow “Thomas Higginson” twitter Các nguồn liệu nguyên thủy Khi đó, Contacts Provider tạo ba contact nguyên thủy sau: Một contact nguyên thủy “Thomas Higginson” ứng với email emily.dickinson@gmail.com Một contact nguyên thủy thứ hai “Thomas Higginson” ứng với email emilyd@gmail.com Kiểu tài khoản Google Khi đó, có dòng contact ngun thủy thứ hai trùng tên với contact trước Một contact nguyên thủy thứ ba “Thomas Higginson” ứng với twitter “belle_of_amherst” Kiểu tài khoản người dùng Twitter Dữliệu Dữliệucontact nguyên thủy lưu trữ dòng ContactsContract.Data link tới giá trị _ID contact Do cho phép contact nguyên thủy có nhiều thể cho kiểu liệu địa email số điện thoại Ví dụ “Thomas Higginson” account emily.dickinson@gmail.com (dòng liệucontact nguyên thủy “Thomas Higginson” liên kết với tài khoản Google emily.dickinson@gmail.com) có địa email cơng việc thao@gmail.com email cá nhân thao_2000@gmail.com, Contacts Provider lưu trữ hai địa email liên kết hai tới contact nguyên thủy Contact Yêu cầu Permission Provider READ_CONTACTS, thêm vào AndroidManifest.xml với phần tử , cụ thể WRITE_CONTACTS, thêm vào AndroidManifest.xml với phần tử , cụ thể Hiển thị thông tin chi tiết Contact Hiển thị thông tin chi tiết Contact O DEM Hiển thị danh sách Contact Thay đổi thơng tin Contacts Bạn thêm mới, sửa đổi, xóa liệu Contacts Provider chế độ batch mode cách tạo ArrayList đối tượng ContentProviderOperation gọi applyBatch() Để thay đổi thông tin contact cụ thể, bạn nên gửi intent tới ứng dụng contact thiết bị Xóa Contact Xóa Contact O DEM Xóa Contact Hiển thị Quick Contact Badge Quick Contact Badge widget xuất ảnh thumbnail Bạn sử dụng Bitmap cho ảnh thumbnail Ảnh nhỏ hoạt động control, người dùng click vào ảnh, QuickContactBadge mở rộng dialog chứa thông tin sau: Một ảnh lớn: ảnh lớn liên quan đến contact App icons: Hiển thị Quick Contact Badge Hiển thị Quick Contact Badge Hiển thị Quick Contact Badge Để thêm QuickContactBadge, bổ sung vào layout O DEM Sử dụng Quick Contact Badge Tổng kết nội dung học Tổng quan Contacts Provider Truycập danh sách Contact Hiển thị thông tin chi tiết Contact Thay đổi Contact sử dụng Intent Hiển thị Quick Contact Badge ... Tổng quan Contacts Provider Truy cập danh sách Contact Hiển thị thông tin chi tiết Contact Thay đổi Contact sử dụng Intent Hiển thị Quick Contact Badge Contact Provider Contacts Provider... Bảng ContactsContract.Contacts: thể contact khác nhau, dựa cột contact nguyên thủy (raw contact) Bảng ContactsContract.RawContacts: cung cấp thông tin liệu person, user account type Bảng ContactsContract.Data:... người dùng Twitter Dữ liệu Dữ liệu contact nguyên thủy lưu trữ dòng ContactsContract.Data link tới giá trị _ID contact Do cho phép contact nguyên thủy có nhiều thể cho kiểu liệu địa email số