Android学习笔记起之ContentProvider
ContentProvicer简介
Content provider,即是内容提供者或者内容提供商。ContentProvider生命周期
- 应用安装完成,就会创建完成,手机开机后,第一次被访问时,被创建
- 只要创建了,只要手机没关机,就会一直存在,类似于在注册表里注册一样
- 手机关机,才会消失
- 应用里的数据都可以提供访问.不一定是数据库,在方法里自已定义就可以,但通常是访问数据库
作用
ContentProvider用于不同进程之间传递数据,这也是官方推荐的方式。
- 当我们想要在自己的应用中访问别的应用的数据,比如获取手机联系人,手机短信等的时候,就需要用到ContentProvider了
- 当我们自己的应用,需要把自己的一些数据给其它应用进行操作,我们就可以用到contentprovider了。
简单的说,就是Contentprovider为不同应用之间数据共享提供统一的接口。ContentProvider使用表的形式组织数据,所以提供的方法跟表的操作类似,ContentProvider提供如下的方法:
- query:查询数据
- insert:插入数据
- update:更新数据
- delete:删除数据
- getType:得到数据类型
- onCreate:创建数据时调用的回调函数
使用ContentProvider需要一个uri,例如获取手机联系人的uri:
content://com.Android.contacts/data/phones
URI解析如下图所示
使用系统提供的ContentProvider
很多时候我们都是使用系统提供的ContentProvider,使用ContentResolver来读取其他应用的信息,例如读取系统APP,短信,联系人, 手机相册等!例如,我们读取手机联系人