书签 分享 收藏 举报 版权申诉 / 21
上传文档赚钱

类型《Android程序设计教程》课件第八章 ContentProvider数据共享.pptx

  • 上传人(卖家):momomo
  • 文档编号:7647955
  • 上传时间:2024-05-19
  • 格式:PPTX
  • 页数:21
  • 大小:525.23KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《《Android程序设计教程》课件第八章 ContentProvider数据共享.pptx》由用户(momomo)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    Android程序设计教程 Android程序设计教程课件第八章 ContentProvider数据共享 Android 程序设计 教程 课件 第八 ContentProvider 数据 共享
    资源描述:

    1、让IT教学更简单,让IT学习更有效Android程序设计教程第八章 ContentProvider数据共享目录 8.1 ContentProvider简介 8.1.1 ContentProvider类 8.1.2 ContentResolver类 8.2 开发ContentProvider程序 8.2.1编写ContentProvider子类 8.2.2 注册ContentProvider 8.2.3 使用ContentProvider 8.3 操作系统的ContentProvider 8.3.1 管理联系人 8.3.2 管理多媒体 8.4 ContentObserver学习目标 了解Cont

    2、entProvider类和ContentResolver类 能够开发ContentProvider程序 能够操作系统的ContentProvider 了解ContentObserver类8.1 ContentProvider简介 ContentProvider是Android系统的四大组件之一,是不同应用程序之间进行数据交换的标准API,也是所有应用程序之间数据存储和检索的一个桥梁,其作用是使各个应用程序之间实现数据共享。它以Uri的形式对外提供数据,允许其他应用操作本应用程序的数据,其他应用通过ContentResolver来访问共享的数据。8.1.1 ContentProvider类 Co

    3、ntentProvider与Activity、Service、BroadcastReceiver类似,都是Android应用的四大组件之一,需要在AndroidManifest.xml配置文件中进行配置。在ContentProvider类的增、删、改、查操作方法中,都用到类型为Uri的参数,该参数是ContentProvider对外提供的一个自身数据集的唯一标识。当一个ContentProvider管理多个数据集时,该ContentProvider将会为每个数据集分配一个独立且唯一的Uri。Uri的语法格式如下:content:/数据路径/标识ID(可选)其中,“content:/”是Cont

    4、entProvider规定的协议,用来标识ContentProvider所管理的scheam,是一个标准的前缀,不能被修改;“数据路径”用于查找所要操作的ContentProvider;“标识ID”是可选的,标识不同数据资源,当访问不同资源时,该ID是动态改变的。Android系统提供了UriMatcher工具类对Uri进行匹配判断,该工具类提供了以下两个常用的方法:void addURI(String authority,String path,int code):用于注册Uri,其中参数authority和path组合成一个Uri,而参数code代表Uri对应的标识符;int match(

    5、Uri uri):根据前面注册的Uri判断指定的Uri对应的标识符,如果找不到匹配的标识码,则返回-1.8.1.2 ContentResolver类 ContentProvider类中共享的数据不能被Android应用程序直接访问,而是通过操作ContentResolver类来间接操作ContentProvider中的数据。ContentResolver是内容解析器,提供了对ContentProvider数据进行查询、插入、修改和删除等操作方法。8.2 开发ContentProvider程序 开发ContentProvider程序的步骤如下:(1)创建一个ContentProvider子类,并

    6、实现query()、insert()、update()和delete()等方法。(2)在AndroidManifest.xml配置文件中注册ContentProvider,并指定android:authorities属性(一般自动注册)。(3)使用ContentProvider,Activity和Service等组件都可以获取ContentProvider对象,并调用该对象相应的方法进行操作。8.2.1编写ContentProvider子类 新建一个Android项目,在Java源文件夹上右击,选择NewOtherContent Provider选项,弹出如图8.1所示对话框,在Class N

    7、ame文本框中输入ContentProvider子类的类名,在URI Authorities文本框中输入数据路径。8.2.2 注册ContentProvider 在AndroidManifest.xml配置文件中注册ContentProvider,只需在元素中添加子元素即可,其示例代码如下。8.2.3 使用ContentProvider(1)首先需要修改相应的XML布局文件(2)修改MainActivity.java文件8.3 操作系统的ContentProvider Android系统本身提供了大量的ContentProvider,例如联系人信息,系统的多媒体信息,系统短信等,程序员自己开发

    8、的Android应用程序时,可以通过ContentResolver来调用系统ContentProvider所提供的query()、insert()、update()和delete()方法,如此即可对Android内部数据进行操作。8.3.1 管理联系人 Android系统用于管理联系人的ContentProvider的Uri有以下三种:ContactsContract.Contacts.CONTENT_URI:管理联系人的Uri;ContactsContract.CommonDataKinds.Phone.CONTENT_URI:管理联系人的电话Uri;ContactsContract.Com

    9、monDataKinds.Email.CONTENT_URI:管理联系人的E-mail的Uri。8.3.2 管理多媒体Android系统为多媒体提供了相应的ContentProvider的Uri,具体如下所示:MediaStore.Audio.Media.EXTERNAL_CONTENT_URI:存储在外部存储(SD卡)上的音频文件内容的ContentProvider的Uri。MediaStore.Audio.Media.INTERNAL_CONTENT_URI:存储在手机内部存储器上的音频文件内容的ContentProvider的Uri。MediaStore.Images.Media.EXT

    10、ERNAL_CONTENT_URI:存储在外部存储器(SD卡)上的图片文件内容的ContentProvider的Uri。MediaStore.Images.Media.INTERNAL_CONTENT_URI:存储在手机内部存储器上的图片文件内容的ContentProvider的uri。MediaStore.Video.Media.EXTERNAL_CONTENT_URI:存储在外部存储器(SD卡)上的视频文件内容的ContentProvider的Uri。MediaStore.Video.Media.INTERNAL_CONTENT_URI:存储在手机内部存储器上的视频文件内容的Content

    11、Provider的Uri。8.4 ContentObserver ContentObserver(内容观察者)的目的是观察(捕获)特定Uri引起的数据库变化,继而做出一些相应的处理。它类似于数据库技术中的触发器,当ContentObserver所观察的Uri发生变化时,便会触发ContentObserver的onChange()方法。触发器分为表触发器和行触发器,相应的ContentObserver也分为表ContentObserver和行ContentObserver,当然这是与它所监听的Uri MIME Type有关。ContentObserver的两个常用方法,具体如下所示:ContentObserver(Handler handler):构造方法,所有ContentObserver的派生类都需要调用该构造方法,参数是Handler对象,可以是主线程Handler(这时候可以更新UI),也可以是任何Handler对象。void onChange(boolean selfChange):观察到Uri发生变化时,回调该方法去处理,所有的ContentObserver的派生类都需要调用该方法去处理数据。谢谢

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:《Android程序设计教程》课件第八章 ContentProvider数据共享.pptx
    链接地址:https://www.163wenku.com/p-7647955.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库