- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
安卓高级应用 - 多媒体和Service
第六章 安卓高级应用
在Android中,熟练使用4大组件,对理解Andriod程序,开发高级功能有着至关重要的作用。本章将会逐一讲解Activity以外的3大组件:ContentProvider,BroadcastReceiver和Service的原理及应用,并且介绍以它们为基础开发的多媒体和电话短信等系统应用。
6.1 ContentProvider
6.1.1 ContentProvider简介
ContentProvider是Android的四大组件之一,用于保存和检索数据,是Android系统中不同应用程序之间共享数据的接口。Android系统中对一些常见的公用数据提供了ContentProvider接口,例如视频,音频,图像,个人通信信息等,都定义在vider包下。若开发着想将自己的程序的数据公开给其他应用程序使用,有两种方法:一种是定义自己的ContentProvider子类,另一种是将当前的数据添加到已有的ContentProvider中,我们下面主要讨论第一种情况。
6.1.2 使用ContentProvider
实现通过ContentProvider对外共享数据,需要2个步骤:
1)继承ContentProvider并重写下面方法
public class MyProvider extends ContentProvider public boolean onCreate public Uri insert Uri uri, ContentValues values public int delete Uri uri, String selection, String[] selectionArgs public int update Uri uri, ContentValues values, String selection, String[] selectionArgs public Cursor query Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder public String getType Uri uri 这其中除了常用的增删改查方法外,onCreate方法用于启动时初始化ContentProvider,getType方法用于返回Uri指定的ContentProvider中的数据的MIME类型。
2)在Manifest文件中注册Provider provider android:authorities com.spl.myprovider android:name spl.db.contentprovider.MyProvider /
为了能让其他应用找到该ContentProvider,ContentProvider采用了authorities(主机名/域名)对它进行唯一标识,你可以把 ContentProvider看作是一个网站,authorities 就是他的域名。
URI介绍
ContentProvider通过URI来共享数据。URI是一个通用资源标识符,它的构成如图6-1所示:
图6-1 URI的组成
从上图可见,一般URI由4部分构成:
sheme:无法改变的标准前缀
主机名或authority:ContentProvider的唯一标示,在Manifes中声明
路径:可以理解为要操作的数据中表的名字
ID:需要获取的记录的ID,如果没有则表示返回全部记录
UriMatcher
Android系统提供了UriMatcher类来对URI进行匹配。使用步骤如下:
首先创建UriMatcher类
然后通过addURI方法增加需要匹配的路径,并给每个路径标记一个匹配码
最后通过match方法进行匹配,返回匹配码
代码片段如下:
private static UriMatcher matcher new UriMatcher UriMatcher.NO_MATCH ;
private static final int CONTACTS 1;// 匹配码1
private static final int CONTACT 2;// 匹配码2
private static final String TABLENAME person;
static matcher.addURI com.spl.myprovider, person, CONTACTS ;
matcher.addURI com.spl.myprovider, person/#, CONTACT ; @Override
public int delete Uri uri,
您可能关注的文档
- 安全生产奖惩办法_secret.doc
- 安全生产月(方案.试卷.统计表).doc
- 安全生产标准化级别评定标准.doc
- 安全生产责任制3.11 - 副本.doc
- 安全生产费用提取、使用和投入保障制度10.docx
- 安全生产隐患排查5doc.doc
- 安全生产责任制汇编_secret.doc
- 安全监理台帐样板.doc
- 安全监理方案(监理)doc.doc
- 安全监理方案和细则-安置小区.doc
- 【2025-2026学年人教九全英语情境教学课件内嵌音视频】Unit 2 Section B 1a~.pptx
- 仿写与拟写 课件-2026年中考语文一轮复习.pptx
- 15.3测量:用电流表测量电流课件(31页PPT) 2025-2026学年物理沪科版(2024)九年.pptx
- 期中复习-2025学年人教版初中英语七年级上册单元预习及基本功默写专练(含答案).docx
- 16 .2 探索微观世界的历程课件(21页PPT) 九年级物理全册北师大版(2024).pptx
- Unit 3 Is this your pencil-2025学年人教版初中英语七年级上册单元预习及.docx
- Starter Welcome to junior high! Get ready 课件 外研版英.pptx
- 统编版四年级语文上册第八单元《语文园地八》课件.pptx
- Unit 2 Home Sweet Home词汇精讲课件—人教版(2024)八年级上册.pptx
- 衔接排序 课件-2026年中考语文一轮复习.pptx
文档评论(0)