Content Provider
Content Provider管理着对一个有结构的数据集的访问。他们包装数据,并为定义数据安全提供机制。Content Provider是将一个process中的数据和运行在另一个process中的代码相连接的标准的接口。
当时想要访问一个content provider中的数据,你可以使用你的应用程序的Context的ContentResolver对象作为一个client来与provider进行交流。ContentResolver对象交流的provider对象,是一个实现了ContentProvider类的一个实例。provider对象接收来自clients的数据请求,执行请求动作,并返回结果。
你不需要开发你自己的provider,如果你不打算对别的应用程序分享你的数据。然而,你需要自己的provider来在你的应用程序提供自定义搜索建议。你也需要自己的provider,如果你想从你的应用程序拷贝和粘贴复杂的数据或文件到其他应用程序。
Android本身包含了content provider,用来管理例如audio,video,images,和个人联系人信息。你可以看到他们中的一些被列在了相关的文档中,参考android.provider包。伴随着一些限制,这些providers很容易被其它应用程序访问。
下面的标题更详细地描述了content providers:
当数据被以表的方式组织的时候,如何访问content provider中的数据。
如何创建你自己的content provider。
如何访问Android平台的Calendar Provider。
如何访问Android平台的Contacts Provider。