您的位置:首页 > 移动开发 > Android开发

Android四大应用构件之ContentProvider解析

2012-03-08 15:48 225 查看
ContentProvider,“内容提供器”,Android系统为统一应用数据存储的访问和操作提供的一个构件。数据存储有多种方式,如SQLite数据库、文件等方式。Android系统定义了一个ContentProvider基类,提供一套数据访问的标准方法的接口,开发者可继承此类,统一处理应用数据访问和操作,可应用于不同应用程序间数据的通讯、共享。下面具体介绍一下它的实现机制。

内容提供器提供的数据访问主要有如下几点:

1.定义了数据访问的一套标准方法(如增删改查、以及创建到销毁的生命周期相关方法,其他辅助方法)。这样为不同应用程序间数据通讯、共享提供了标准化的访问方式。

2.使用了Android系统的URI接口作为数据访问的协议接口。URI(Uniform Resource Identifier)——统一资源定位符,数据访问方法中使用URI为的参数,Android系统中通常的URI格式为 "content://{ AUTHORITY }/{path}",其中“content://”为协议schema,”{ AUTHORITY }“为应用数据访问的"域名"地址,”{path}“是访问路径地址。例如:content://com.yandk.contact/contacts表示访问com.yandk.contact域名下的所有联系人数据。Android应用项目中还需要相关其他的配置定义。以访问联系人列表数据为例,看看具体实现中涉及到的相关程序。

3.使用ContentResolver对象作为代理层管理不同内容提供者数据访问、会话、通知。”内容解析器“,可以分解、管理ContentProvider(内容提供者)的数据内容;还有一个功能,该对象设计模式上应该属于观察者模式,可以为内容提供者注册观察者,在数据状态改变时做相应的通知,这样可以管理不同内容提供者的数据访问会话,这在应用中有很多用途。合理使用ContentResolver对象,功能会很强大。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: