1、为什么使用内容提供器 应用程序之间可以共享数据,例如一个第三方app可以通过系统的contacts内容提供器,方便的获取到联系人的电话、邮件等联系方式。 简单的说,内容提供器为app提供了一个对外开放的数据访问通道。 2、如何使用内容提供器获取数据 通过内容提供器获取数据,主要涉及两个元素:ContentResolver,URI。 ContentResolver:通过系统提供的getContentResolver()获取到该实例,继而通过其提供的CURD方法操作数据。 URI:内容提供器不会直接提供操作的表或文件。URI定义了要操作的数据的范围。由权限和路径组成。 通过ContentResolver,URI即可以进行query,insert,update,delete操作。 3、如何定义自己的Provider 创建自己的provider类,需要继承ContentProvider。同时实现query, insert, update, delete, getType方法即可。 备注 1、使用内容提供器需要在manifest中声明权限。 2、对外提供provider时,需要在manifest中进行声明,向系统注册。