Content Provider用于保存和获取数据,并对所有程序可见。这是不同应用程序共享数据的唯一方式,因为Android没有提供所有应用程序都可以访问的公共存储区域。
Content Provider内部如何保存数据由设计者决定,但所有的Content Provider都实现一组通用的方法,来完成数据的增,删,改,查。
使用ContentResolver对象实现对Content Provider的操作。
每个ContenrtProvider仅有一个单独实例,但是该实例能与位于不同应用程序和进程的多个ContentResolver类对象通信。
不同进程的通信由ContentProvider类和ContentResolver类处理。
每个Content Provider提供公共的URI来唯一标示其数据集。
content://com.mingrisoft.employeeprovider/dba/001
- 前缀,标识由content provider管理,不需修改
- authority部分,用于表示该Content Provider
- 路径部分,哪类数据被请求
- 特定记录ID值
预定义Content Provider:
Android为常用数据类型提供了许多预定义的Content Provider。
创建自定义Content Provider(一个ContentProvider类的子类):
建立数据存储系统,继承ContentProvider类来提供访问方式,在应用程序的AndroidManifest文件中声明Content Provider。