电子课件第13章content provider的常用操作_第1页
电子课件第13章content provider的常用操作_第2页
电子课件第13章content provider的常用操作_第3页
电子课件第13章content provider的常用操作_第4页
电子课件第13章content provider的常用操作_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Content Provider的常用操作本讲大纲:1、查询数据3、增加新值支持网站: 2、增加记录4、批量更新记录5、删除记录查询数据开发人员需要下面3条信息才能查询Content Provider中的数据:标识该Content Provider的URI;需要查询的数据字段名称;字段中数据的类型。如果查询特定的记录,则还需要提供该记录的ID值。为了查询Content Provider中的数据,开发人员需要使用ContentResolver.query()或Activity.managedQuery()方法。这两个方法使用相同的参数,并且都返回Cursor对象。然而,managedQuery(

2、)方法导致Activity管理Cursor的生命周期。托管的Cursor处理所有的细节,例如当Activity暂停时卸载自身,当Activity重启时加载自身。调用Activity.startManagingCursor()方法可以让Activity管理未托管的Cursor对象。增加记录为了向Content Provider中增加新数据,首先需要在ContentValues对象中建立键值对映射,这里每个键匹配content provider中列名,每个值是该列中希望增加的值。然后调用ContentResolver.insert()方法并传递给它provider的URI参数和ContentVal

3、ues映射。该方法返回新记录的完整URI,即增加了新记录ID的URI。开发人员可以使用该URI来查询并获取该记录的Cursor,以便修改该记录。增加新值一旦记录存在,开发人员可以向其增加新信息或者修改已经存在的信息。增加记录到Contacts数据库的最佳方式是增加保存新数据的表名到代表记录的URI,然后使用组装好的URI来增加新数据。每个Contacts表格以CONTENT_DIRECTORY常量的方式提供名称作为该用途。开发人员可以调用使用byte数组作为参数的ContentValues.put()方法向表格中增加少量二进制数据。这适用于诸如类似小图标的图片、短音频片段等。然而,如果需要增加

4、大量二进制数据,例如图片或者完整的歌曲,保存代表数据的content:URI到表格,然后使用文件URI调用ContentResolver.openOutputStream()方法。这导致Content Provider保存数据到文件并在记录的隐藏字段保存文件路径。批量更新记录为了批量更新数据(例如,将全部字段中“NY”替换成“New York”)使用ContentResolver.update()方法并提供需要修改的列名和值。删除记录如果需要删除单条记录,调用ContentResolver.delete()方法并提供特定行的URI。如果需要删除多条记录,调用ContentResolver.delete()方法并提供删除记录类型的URI(例如,vider.Contacts.People.CONTENT_URI)和一个SQL WHERE语句,它定义哪些行需

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论