- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第六章 内容提供者
创建内容提供者
访问内容提供者
内容观察者的使用
? 学习目标
? 目录
内容提供者简介
创建内容提供者
访问内容提供者
?点击查看本小节知识架构
内容观察者的使用
?点击查看本小节知识架构
本章小结
?点击查看本小节知识架构
? 知识架构
6.2 创建内容提供者
6.2.1
创建一个内容提供者
6.2.2
Uri简介
6.2.3
案例——读取联系人信息
返回目录
6.2 创建内容提供者
? 知识架构
返回目录
6.3 访问内容提供者
6.3.1
ContentResolver的基本用法
6.3.2
案例——短信备份
? 知识架构
返回目录
6.4 内容观察者的使用
6.4.1
什么是内容观察者
6.4.2
案例——短信窃听器
6.1 内容提供者简介
内容提供者(ContentProvider)是Android系统四大组件之一,用于保存和检索数据,是Android系统中不同应用程序之间共享数据的接口。
ContentProvider是不同应用程序之间进行数据交换的标准API,以Uri形式对外提供数据,允许其他应用操作本应用数据。其他应用则使用ContentResolver,并根据ContentProvider提供的Uri操作指定数据。
6.1 内容提供者简介
内容提供者简介
6.2 创建内容提供者
6.2.1 创建一个内容提供者
。
定义一个类继承android.content包下的ContentProvider类(抽象类)。子类需要重写它的onCreate()、delete()、getType()、insert()、query()、update()这几个抽象方法。
ContentProvider是四大组件之一,必须要在清单文件中注册
provider
android:name=cn.itcast.db.PersonDBProvider
android:authorities=cn.itcast.db.personprovider
/provider
是继承于ContentProvider类的全路径名称
表示访问本provider的路径,注意这里的路径必须要唯一。
6.2 创建内容提供者
6.2.2 Uri简介
ContentProvider的几个抽象方法,这几个抽象方法中有一个参数Uri,它代表了数据的操作方法。Uri是由scheme、authorites、path三部分组成。
scheme:“content://”是一个标准的前缀,表明这个数据被内容提供者所 控制,它不会被修改;
authorities:“cn.itcast.db.personprovider”是在清单文件中指定的android:authorities属性值,该值必须唯一,它表示了当前的内容提供者;
path:“/person”代表资源(或者数据),当访问者需要操作不同数据时,这个部分是动态改变的
6.2 创建内容提供者
6.2.2 Uri简介
Uri.parse(String str)方法是将字符串转化成Uri对象的。为了解析Uri对象,Android系统提供了一个辅助工具类UriMatcher用于匹配Uri。
UriMatcher中的常用方法如表所示:
方法名称
方法说明
public UriMatcher(int code)
创建UriMatcher对象时调用,参数通常使用UriMatcher.NO_MATCH,表示路径不满足条件返回-1
public void addURI(String authority, String path, int code)
添加一组匹配规则,authority即Uri的authoritites部分,path即Uri的path部分
public int match(Uri uri)
匹配Uri与addURI方法相对应,匹配成功则返回addURI方法中传入的参数code的值。
6.2 创建内容提供者
6.2.3 案例——读取联系人信息
接下来通过一个案例“读取联系人信息”讲解如何使用内容提供者暴露数据。该案例实现了查询自己暴露的数据,并将数据捆绑到ListView控件中的功能。
在Android系统中,ContentResolver充当着桥梁的角色。应用程序通过ContentProvider暴露自己的数据,通过ContentResolver对应用程序暴露的数据进行操作。
通过ContentResovler对象实现数据的操作代码如下:
6.3 访问内容提供者
6.3.1 ContentResolver的基本用法
Uri uri = Uri.parse(content://cn.itcast.db.personprovider/
您可能关注的文档
最近下载
- 2025年最新人教版七年级(初一)数学上册教学计划及进度表(新课标,新教材).docx
- 墨西哥介绍(旅游,宗教,饮食,文化,礼仪,节日).ppt VIP
- 结直肠癌基础知识培训ppt教案.pptx VIP
- 培训虫害控制.ppt VIP
- 小学数学名师工作室成员考核方案(试行).docx VIP
- 虫害控制程序文件资料.pdf VIP
- 维持性血液透析(MHD)患者高钾血症管理.pptx VIP
- 第四章 汽车的基础知识_1 课件(共41张PPT)- 《汽车文化》同步教学(上海交大版).pptx VIP
- 第一章-第二节--电子商务的产生和行业新应用.pptx VIP
- 《温室气体 产品碳足迹量化方法与要求 光伏玻璃》标准发展报告.docx VIP
文档评论(0)