




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ContentProvider2023/9/28122023/9/28认识ContentProvider使用ContentProvider目录CONTENT12特定ContentProvider3参考教材:《Android应用开发项目化教程》认识ContentProvider作用ContentProvider管理对结构化数据集的访问。它们封装数据,并提供用于定义数据安全性的机制。ContentProvider是连接一个进程中的数据与另一个进程中运行的代码的标准界面。1ActivityApplicationActivityApplicationActivityContentProviderServiceApplicationDataSQLiteXMLRemoteStoreContentResolverContentResolverContentResolver认识ContentProvider系统ContentProvider多媒体提供者日历提供者联系人提供者文档提供者1使用ContentProvider访问系统ContentProvider基本步骤1)为应用程序添加ContentProvider的访问权限。2)通过getContentResolver()方法得到ContentResolver对象。3)调用ContentResolver类的query()方法查询数据,该方法会返回一个Cursor对象。4)对得到的Cursor对象进行分析,得到需要的数据。5)调用Cursor类的close()方法将Cursor对象关闭。2使用ContentProvider访问系统ContentProvider方法Activity中调用getContentResolver()获取ContentResolver对象ContentResolver对象具有调用ContentProvider中同名方法的方法,可提供持续存储的基本“CRUD”(创建、检索、更新和删除)功能。2访问系统ContentProvider需要在AndroidManifest中添加访问权限使用ContentProvider访问系统ContentProvider方法ContentResolver对象根据ContentProvider的Uri操作数据库
2使用ContentProvider访问系统ContentProviderquery(uri,projection,selection,selectionArgs,sortOrder)参数说明uri用于查询ContentProvider的Uri。projection用于标识uri中有哪些列需要包含在返回的Cursor对象中。selection作为查询的过滤参数,类似于SQL中Where语句之后的条件选择。selectionArgs查询条件参数,配合selection参数使用。sortOrder查询结果的排序方式。2使用ContentProvider访问系统ContentProvider操作数据插入数据2使用ContentProvider访问系统ContentProvider操作数据更新数据2使用ContentProvider访问系统ContentProvider操作数据删除数据2特定ContentProviderContactsProvider认识ContactsProviderContactsProvider是一个强大而又灵活的Android组件,用于管理设备上有关联系人数据的中央存储库。ContactsProvider是在设备的联系人应用中看到的数据源,也可以在自己的应用中访问其数据,并可在设备与在线服务之间传送数据。3特定ContentProviderContactsProvider数据结构ContactsContract.Contacts表
表示不同联系人的行,基于聚合的原始联系人行。ContactsContract.RawContacts表
包含联系人数据摘要的行,针对特定用户帐户和类型。ContactsContract.Data表
包含原始联系人详细信息(例如电子邮件地址或电话号码)的行。3特定ContentProviderContactsProvider权限<uses-permissionandroid:name="android.permission.READ_CONTACTS">
<uses-permissionandroid:name="android.permission.WRITE_CONTACTS">
3特定ContentProviderContactsProvider示例3特定ContentProviderCalendarProvider认识CalendarProviderContactsProvider是用户日历事件的存储库。可以利用CalendarProviderAPI对日历、事件、参加者、提醒等执行查询、插入、更新和删除操作。3特定ContentProviderCalendarProvider数据模型3特定ContentProviderCalendarProvider数据表3
表(类)描述CalendarContract.Calendars此表储存日历特定信息。此表中的每一行都包含一个日历的详细信息,例如名称、颜色、同步信息等。CalendarContract.Events此表储存事件特定信息。此表中的每一行都包含一个事件的信息—例如事件名称、地点、开始时间、结束时间等。事件可一次性发生,也可多次重复发生。参加者、提醒和扩展属性存储在单独的表内。它们各自具有一个EVENT_ID,用于引用Events表中的
_ID。CalendarContract.Instances此表储存每个事件实例的开始时间和结束时间。此表中的每一行都表示一个事件实例。对于一次性事件,实例与事件为1:1映射。对于重复事件,会自动生成多个行,分别对应多个事件实例。CalendarContract.Attendees此表储存事件参加者(来宾)信息。每一行都表示事件的一位来宾。它指定来宾的类型以及事件的来宾出席响应。CalendarContract.Reminders此表储存提醒/通知数据。每一行都表示事件的一个提醒。一个事件可以有多个提醒。每个事件的最大提醒数量在MAX_REMINDERS
中指定,后者由拥有给定日历的同步适配器设置。提醒以事件发生前的分钟数形式指定,其具有一个可决定用户提醒方式的方法。
特定ContentProviderCalendarProvider权限
<uses-permission
android:name="
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年产品售后服务策划合作协议书标准格式
- 2025年租约提前解除协议示例
- 2025年商品混凝土运输合作协议模板
- 2025年企业员工伤亡赔偿策划谅解协议指南
- 2025年项目策划方与投资协议草案
- 双元制教育模式在产教共融中的应用
- 产教深度融合对人才培养模式的影响
- 精准农业技术提升油菜种植效益
- 构建语文教学新形态的面临的问题、机遇与挑战
- 社交媒体时代出版行业的用户体验升级
- 2024年南昌市高三二模(第二次模拟测试)物理试卷(含答案)
- 基础有机化学实验智慧树知到期末考试答案2024年
- 项目攻关方案
- 2024年北京控股集团有限公司招聘笔试参考题库含答案解析
- 劳动创造幸福主题班会
- 2024年移动网格经理(认证考试)备考试题库大全-下(判断题汇总)
- 心脏康复中医优势与模式探讨
- 口腔vip服务流程
- 暴发性1型糖尿病培训演示课件
- 幼儿园小班故事《贪吃的小猪》课件
- 日产轩逸说明书
评论
0/150
提交评论