- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ContentProvider简介 在Android当中,每一个应用程序的数据都是采用私有的形式进行操作的,不管这些数据是文件保存还是数据库保存,都不能被外部应用程序所访问。但是在很多情况下用户是需要可以在不同的应用程序之间进行数据的交换,所以为了解决这样的问题,在Android中专门提供了一个ContentProvider类,此类的主要功能是将不同的应用程序的数据操作标准统一起来,并且将各个应用程序的数据操作标准暴露给其他应用程序,这样,一个应用程序的数据就可以按照ContentProvider所制定的标准被外部所操作。 ContentProvider类常用的操作方法 Uri 在使用ContentProvider类进行数据操作的时候(insert()、update()等)都是采用了Uri的形式进行数据的交换,例如:有如下一个Uri 此Uri组成部分如下: A部分(协议):ContentProvider(内容提供者)访问协议,已经由Android所规定为:content://; B部分(主机名或Authority):用于唯一标识这个ContentProvider,外部调用者可以根据这个标识来找到它,一般都为程序的“包.类”名称,但是要采用小写字母的形式表示; C部分(Path):访问的路径,一般都为要操作的数据表的名称,根据操作的不同可以如以下几种情况: 访问全部数据:content://Authority/Path member表的全部数据:content://org.lxh.demo.membercontentprovider/member/ 根据id访问数据:content://Authority/Path/ID member表中id为3的数据:content://org.lxh.demo.membercontentprovider/member/3 访问某一条记录的某个字段:content://访问标识/表名称/ID/列名称 member表第3条记录name数据:content://org.lxh.demo.membercontentprovider/member/10/name Uri类常用的操作方法 ContentResolver ContentProvider在程序的操作中所提供的是一个操作的标准,所以用户如果要想依靠此标准进行数据操作的时候,必须使用到android.content.ContentResolver类完成,而这个类中所给出的操作方法与ContentProvider是一一对应的, 当用户调用了ContentResolver类的方法时实际上就相当于调用了ContentProvider类中的对应方法 ContentResolver类常用的操作方法 Activity类对ContentResolver类的操作方法 由于ContentResolver是一个抽象类,所以要想取得ContentResolver类的实例化对象进行操作,则需要依靠android.app.Activity类中的方法 public ContentResolver getContentResolver() Uri的辅助操作类:ContentUris 由于所有的数据都要通过Uri进行传递,以增加操作为例,当用户执行完增加数据操作后往往需要将增加后的数据ID通过Uri进行返回,当接收到这个Uri的时候就需要从里面取出增加的ID,为了方便用户这种取出数据的操作,在Android中又提供了一个android.content.ContentUris的辅助工具类,帮助用户完成Uri的若干操作; ContentUris类常用的操作方法 从指定Uri之中取出ID:public static long parseId(Uri contentUri) 在指定的Uri之后增加ID参数:public static Uri withAppendedId(Uri contentUri, long id) Uri的辅助操作类:UriMatcher类 由于在使用ContentProvider类操作的时候某一个方法都可能要传递多种Uri,例如:以query()方法为例,有可能表示查询全部,有可能表示按ID查询,所以必须对这些传递的Uri进行判断后才可以决定最终的操作形式,为了方便的用户的判断,专门提供了android.content.UriMatcher类,进行Uri的匹配; UriMatcher类常用的操作方法: 开发ContentProvider程序 表结构 范例:数据列表显示 ContentProvider程序实现清单 范例:元数据接口 —— MLDNDatabaseMetaData 范例:定义数据库操作的助
您可能关注的文档
- 实用文体写作全套课件教学版.ppt
- 条据 应用文写作课件.ppt
- 条据、启事、声明 应用文写作课件.ppt
- 条据、启事等的写作 应用文写作课件.ppt
- 应用文写作简介课件.ppt
- 应用文写作课件第一章 绪论.ppt
- 应用写作 应用文文种辨析与基本写作原则.ppt
- 应用写作指要.ppt
- 第1章 绪论 人工神经网络课件.ppt
- 第3章 (BPmatlab设计) 人工神经网络课件.ppt
- 030901_认识Intent Android安卓开发课件.ppt
- 030903_Activity生命周期 Android安卓开发课件.ppt
- 030904_ActivityGroup Android安卓开发课件.ppt
- 030905_消息机制 Android安卓开发课件.ppt
- 030906_Service Android安卓开发课件.ppt
- 030907_PendingIntent Android安卓开发课件.ppt
- 030908_广播机制:Broadcast Android安卓开发课件.ppt
- 030909_桌面显示组件:AppWidget Android安卓开发课件.ppt
- 041001_绘制简单图形 Android安卓开发课件.ppt
- 041002_Bitmap Android安卓开发课件.ppt
最近下载
- 【交通运输类】浙江省汽车维修行业工时定额和收费标准浙江省交通厅浙江省物价局精编.pdf VIP
- TD-JZ2006-6001西南设计院预埋件图集.pdf
- 01J925 1 压型板屋面.PDF VIP
- 视听语言 镜头运动.pptx VIP
- 广州市白云区广大附中实验中学2022-2023学年上学期期中调研八年级物理问卷.docx VIP
- JB∕T 5317-2016 环链电动葫芦.pdf VIP
- 广东省广州市白云区广大附中实验中学2022-2023学年八年级上学期期末线上考试语文试卷.doc VIP
- 风电机组专项隐患排查治理记录表.doc VIP
- 风电机组专项隐患排查治理记录表自查.pdf VIP
- 工厂生产管理制度(3篇).docx VIP
文档评论(0)