Android应用程序开发与典型案例第10章 内容提供者详解.pptx

Android应用程序开发与典型案例第10章 内容提供者详解.pptx

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
内容提供者主讲人:JasonWu10.1 ContentProvider简介在Android中,每个应用程序的数据都是采用私有形式进行操作的,不管这些数据是用文件保存还是用数据库保存,都不能被外部应用访问。但是很多情况下,用户需要可以在不同的应用程序之间进行交换的数据,所以为了解决该问题,在Android中专门提供了一个ContentProvider类。此类的主要功能是将不同的应用程序的数据操作标准统一起来,并且将各个应用程序的数据操作标准表明给其他应用程序。这样,一个应用程序的数据就可以按照ContentProvider制定的标准被外部操作。ContentProvider的操作类似于Web Service(Web服务)。ContentProvider的主要作用是在不同的应用程序之间进行数据交换,而这一实现类似于Web Service技术,但比 Web Service更方便理解。10.2 URI简介URI代表了要操作的数据,URI主要包含了两部分信息:需要操作的ContentProvider,对ContentProvider中的什么数据进行操作。一个Uri的组成如图10-1所示。10.2 URI简介URI由如下3部分组成。(1)scheme(协议)ContentProvider(内容提供者)访问协议,已经由Android规定为content://。(2)主机名或authority用于唯一标识ContentProvider,外部调用者可以根据该标识来找到它,一般都为程序的“包.类”名称,但是要使用小写字母的形式表示。(3)Path(路径)访问的路径,一般为要操作的数据表名称。根据操作的不同可以分为以下几种情况。访问全部数据:content://Authority/Path。例如,访问mumber表的全部数据:content://org.lxh.demo.memebercontentprovider/member/。根据ID访问数据:content://Authority/Path/ID。例如,访问member表中的ID为3的数据:content://org.lxh.demo.memebercontentprovider/member/3。访问某条记录的某字段:content://Authority/Path/ID/列名。例如,访问member表第3条记录的name数据:content://org.lxh.demo.memebercontentprovider/member/3/name。10.3.1 创建ContentProvider户可以通过新建一个类去继承ContentProvider的方式来创建一个自己的内容提供器。ContentProvider类中有6个抽象方法,我们在使用子类继承它的时候,需要将这6个方法全部重写。新建MyProvider继承自ContentProvider,代码如下。public class MyProvider extends ContentProvider { @Override public boolean onCreate() { return false; }? @Override public Cursor query(Uri uri, String[] projection, String selection, String[] selectionArgs, String sortOrder) { return null; }? @Override public Uri insert(Uri uri, ContentValues values) { return null; }? @Override public int update(Uri uri, ContentValues values, String selection, String[] selectionArgs) { return 0; }? @Override public int delete(Uri uri, String selection, String[] selectionArgs) { return 0; } @Override public String getType(Uri uri) { return null; }}10.3.2 配置ContentProvider在清单文件Manifest.xml中注册配置,添加Provider标签。!--?provider在application标签里面?--?provider?android:name=MyProvider? android:authorities=vider.myprovider?/?关于UriMatcher这个类。该类可以轻松地实

文档评论(0)

132****9295 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档