目录
1 数据共享的标准:ContentProvider
- ContentProvider的简介
- Uri简介
- 使用ContentResolver操作数据
2 开发ContentProvider
- ContentProvider与ContentResolver的关系
- 开发ContentProvider的子类
- 配置ContentProvider
- 使用 ContentResolver调用方法
- 创建ContentProvider的说明
- 实例:使用ContentProvider共享生词本数据
3 操作系统的ContentProvider
- 使用ContentProvider管理联系人
- 使用ContentProvider管理多媒体内容
4 监听ContentProvider的数据改变
- ContentObserver简介
5 小结
重点:
- ContentProvider的功能?与意义?
ContentProvider:暴露自己的数据操作接口,这时候,不管该应用程序有么有启动,其他应用程序都可以通过该接口来操作该应用程序的内部数据,增删改查… - ContentProvider类?的作用?和常用方法?
- Uri对ContentProvider的作用
- ContentProvider与ContentResolver的关系
- 实现自己的?ContentProvider
- 配置ContentProvider
- 使用ContentResolver操作数据
- 操作系统ContentProvider提供的数据
- 监听ContentProvider的数据改变
- ContentObserver类的作用和常用方法
- 监听系统?ContentProvider的数据改变
疑问
- 根据标题,ContentProvider是用来实现数据共享的。什么是数据共享呢?(已经解决)
也就是不同的应用程序之间共享数据,ex:一个短信接收应用,用户想把接收到的陌生短信的发信人添加到联系人管理应用中,就需要不同的应用程序之间共享数据 - 数据共享的标准:ContentProvider,是说ContentProvider是数据共享的标准吗?
为了在应用程序之间交换数据,android提供了ContentProvider,它是不同应用程序之间进行数据交换的标准API?? Uri,ContentResolver,ContentProvider三者之间的关系呢?
ContentProvider以一种Uri的形式对外提供数据,允许其他应用程序访问或修改数据
其他应用程序使用ContentReceiver根据Uri去访问操作指定数据使用ContentResolver操作数据的意思是?ContentProvider是实现数据共享,使用ContentResoldver操 作数据,也就是ContentResolver是用来操作数据的,跟ContentProvider有什么关系呢?
当一个应用程序需要把自己的数据暴露给其他应用程序使用时,该应用程序就可以通过提供ContentProvider来实现,其他应用程序通过ContentResolver来操作ContentProvider暴露的数据开发ContentProvider,开发是什么意思?
两步走:- 定义自己的ContentProvider,继承ContentProvider类
- 在清单文件中注册,属性有name,authorities(相当于网站的域名)什么是域名(比如:
google.com、baidu.com、163.com等),exported
这里写代码片
- ContentProvider的子类?它是一个抽象类吗?
- 配置ContentProvider,在清单文件中配置吗?
ContentProvider时四大组件之一,Activity,Service,BroadcastReceiver,都需要在清单文件中配置 - 使用ContentResolver调用方法?调用什么方法?
- 创建ContentProvider的说明?说明什么
- 操作系统的ContentProvider,也就是别的ContentProvider?
- ContentProvider的数据如何改变?
- 以网站的形势理解ContentProvider,Uri,ContentReceiver
ContentProvider是Android系统内部的网站,这个网站以固定的Uri对外提供服务
ContentResolver是Android系统内部的HttpClient,它可以向指定Uri提供请求(实际上是调用ContentResolver的方法) - ContentProvider如何对外提供数据?
定义自己的ContentProvider,每个provider都有自己的标识,也就是在清单文件中的authorities,其中实现6个方法,通过增删改查的方法,在其中操作自己的数据
自我总结:
- ContentProvider相当于一个网站,作用是暴露可供操作的数据