今天开始讲android的联系人ContentProvider,今天讲概要和联系人提供程序的基本表结构。
以下是android developer官网的讲解:
联系人提供程序
联系人提供程序是一个强大而又灵活的 Android 组件,用于管理设备上联系人相关数据的中央存储区。 联系人提供程序是您在设备的联系人应用中看到的数据源,您也可以在自己的应用中访问其数据,并可在设备与在线服务之间传送数据。 提供程序储存有多种数据源,由于它会试图为每个联系人管理尽可能多的数据,因此造成其组织结构非常复杂。 为此,该提供程序的 API 包含丰富的协定类和接口,为数据检索和修改提供便利。
本指南介绍下列内容:
- 提供程序基本结构
- 如何从提供程序检索数据
- 如何修改提供程序中的数据
- 如何编写用于同步服务器数据与联系人提供程序数据的同步适配器。
本指南假定您了解 Android 内容提供程序的基础知识。如需了解有关 Android 内容提供程序的更多信息,请阅读 内容提供程序基础知识指南。 示例同步适配器示例应用是一个示例,展示如何使用同步适配器在联系人提供程序与 Google 网络服务托管的一个示例应用之间传送数据。
联系人提供程序组织
联系人提供程序是 Android 内容提供程序的一个组件。它保留了三种类型的联系人数据,每一种数据都对应提供程序提供的一个表,如图 1 所示:
图 1. 联系人提供程序表结构。
这三个表通常以其协定类的名称命名。这些类定义表所使用的内容 URI、列名称及列值相应的常量:
ContactsContract.Contacts 表
表示不同联系人的行,基于聚合的原始联系人行。
ContactsContract.RawContacts 表
包含联系人数据摘要的行,针对特定用户帐户和类型。
ContactsContract.Data 表
由 ContactsContract 中的协定类表示的其他表是辅助表,联系人提供程序利用它们来管理其操作,或为设备的联系人或电话应用中的特定功能提供支持。
包含原始联系人详细信息(例如电子邮件地址或电话号码)的行。
由 ContactsContract 中的协定类表示的其他表是辅助表,联系人提供程序利用它们来管理其操作,或为设备的联系人或电话应用中的特定功能提供支持。