网站大量收购独家精品文档,联系QQ:2885784924

详解分析二十章content provider me.pptx

  1. 1、本文档共24页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

第二十章ContentProvider

回顾了解什么是BroadcastReceiver掌握BroadcastReceiver的使用了解BroadcastReceiver的生命周期

目标了解什么是ContentProvider掌握数据操作原理掌握内置ContentProvider了解自定义ContentProvider

基础知识ContentProvider本质是一个标准化的数据管道,它屏蔽了底层的数据管理和服务等细节,以标准化的方式在Android应用间共享数据。ContentProvider相当于一个“网站”,它的作用是暴露可供操作的数据;通过ContentResolver来操作ContentProvider所暴露的数据,ContentResolver相当于HTTPClient

ContentProvider管理联系人ContactsContract.Contacts.CONTENT_URL管理联系人的UriContactsContract.CommonDataKinds.Phone.CONTENT_URI管理联系人的电话的UriContactsContract.CommonDataKinds.Email.CONTENT_URl管理联系人的E-Mail的Uri

使用系统的ContentProvider

使用系统的ContentProvideruses-permissionandroid:name=android.permission.READ_CONTACTS/uses-permissionandroid:name=android.permission.WRITE_CONTACTS/

基础知识首先获取ContentResolver实例,再调用其方法如query、delete等对指定数据进行操作ContentResolvercr=getContentResolver();

基础知识ContentProvider是以二维表格的形式来提供数据源_IDNUMBERNUMBER_KEYLABELNAMETYPE13手机BruceTYPE_MOBILE14(0756)88866668886666销售部张三TYPE_WORK

基础知识Cursor实现了对结果数据的随机读写操作Cursor的设计是基于数据库服务产生的在Android中查询数据是通过Cursor类实现的

基础知识URI:UniformResourceIndentifer,统一资源标记A部分是ContentProvider提供的URI的标准前缀,这个部分是必须的,而且不能改变B部分是ContentProvider的唯一标识,必须的。C部分代表资源路径。如果只有一种类型资源,可省略D部分代表资源的唯一ID。可省略.demo.datashare/books/101ABCD

数据操作原理-查询查询是指输入URI等参数,找到对应的ContentProvider,返回一个Cursor对象可以通过ContentResolver.query()或者Activity.managedQuery()方法实现查询使用Activity.managedQuery()返回的Cursor对象,会根据Activity的生命周期来管理Cursor对象的生命周期publicfinalCursormanagedQuery(Uriuri,String[]projection,Stringselection,String[]selectionArgs,StringsortOrder)

数据操作原理-查询利用ContentProvider返回的是一个二维数据表格_ID 唯一标识记录_COUNT 记录整个结果集大小_ID_COUNTNAMENUMBER132Bruce142张三(0756)8886666

数据操作原理-查询使用ID查询时,返回的数据最多只有一条返回多条记录则和JDBC的ResultSet类似,需要操作游标遍历记录集,定位到每一行,再通过getString()、getInt()等方法获取各列的值和JDBC不同的是,只能通过列的下标索引获取列的值//遍历Cursor提取数据 for(cursor.moveToFirst();(!cursor.isAfterLast());cursor.moveToNext()){ cursor.getString(cursor.getColumnIndex(columnName)); }

数据操作原理-增加将记录增加到ContentProvider中:1.在ContentValues对象中设置键值对。其中键对应ContentProvider中的列名。2.使用Conte

文档评论(0)

183****7931 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档