8、四大组件之三-ContentProvider
课程目标:
理解ContentProvider的作用及好处
认清ContentProvider与数据存储的关系
掌握ContentProvider对外提供的数据模型形式
能够编写ContentResolver的增删改查
能够自定义一个ContentProvider ,能够提供进程间访问
了解ContentProvider 内部机制
重点难点:
ContentProvider与数据操作的关系
ContentProvider内部机制
考核目标:
说说ContentProvider与Android数据存储的关系?
ContentProvider对象何时被实例化?
ContentProvider数据模型画出来
ContentProvider的机制是什么?
一、为什么要有ContentProvider?
1)我们之前的存储都是放在具体应用程序下面(具体的私有路径,限制访问权限),如何能够共享呢?
2)系统由于安全的因素,提供的一些数据访问,不能直接开放给开发者,如何让开发者能够访问到这些数据呢?
3)如果我写好的数据库程序,希望封装并且提供一套公共标准,让外部调用而不直接操作我的数据库,如何做呢?
二、特性
唯一的共享程序间数据方式。
android没有提供公共数据区让不同的程序去共享访问。
三、ContentProvider是什么?
1)ContentProvider是一套存储访问数据的通道,让你无需了解下面的存储细节实现数据操作及共享。
2)无论具体存储是如何的,存在哪儿的,但对外提供的模型是统一的。
ContentProvider 实际上是个管道,把表提供出来。

3)定义了ContentProvider对象,会在系统初始化的时候自动实例化,无需我们手动去实例化对象。
4)我们只需要通过ContentResolver去取的和操作数据即可。
四、ContentResolver与ContentProvider配对
五、URI
六、系统提供的ContentProvider
Browser :浏览器的书签 ,历史记录等。
CallLog :呼叫记录。包括呼入呼。
ContactsContract :通讯录相关信息。
Calendar :日历相关信息。
MediaStore :媒体存储。
Settings :系统设置信息的部分内容。
UserDictionary :用户词典内容。
七、增删改查
八、查询系统通讯录
九、创建自己的ContentProvider
十、猜猜ContentProvider机制是什么样的 ?
十一、FAQ:ContentProvider调用的时候宿主进程生命周期
接受调用的时候启动宿主进程 , 操作完毕后,宿主进程为empty
8、四大组件之三-ContentProvider的更多相关文章
- 四大组件之ContentProvider
前言 ContentProvider作为Android的四大组件之一,是属于需要掌握的基础知识,可能在我们的应用中,对于Activity和Service这两个组件用的很常见,了解的也很多,但是对Con ...
- Android实训案例(五)——四大组件之一ContentProvider的使用,通讯录的实现以及ListView的优化
Android实训案例(五)--四大组件之一ContentProvider的使用,通讯录的实现 Android四大组件是啥这里就不用多说了,看图吧,他们之间通过intent通讯 我们后续也会一一的为大 ...
- Android 四大组件之" ContentProvider "
前言 ContentProvider作为Android的四大组件之一,是属于需要掌握的基础知识,可能在我们的应用中,对于Activity和Service这两个组件用的很常见,了解的也很多,但是对Con ...
- Android四大组件之——ContentProvider(一)
Android四大组件之--ContentProvider(一) 本人邮箱:JohnTsai.Work@gmail.com,欢迎交流讨论. 欢迎转载,转载请注明网址:http://www.cnblog ...
- 【Android开发日记】之入门篇(九)——Android四大组件之ContentProvider
数据源组件ContentProvider与其他组件不同,数据源组件并不包括特定的功能逻辑.它只是负责为应用提供数据访问的接口.Android内置的许多数据都是使用ContentProvider形式,供 ...
- 初学android:四大组件之contentprovider
一.ContentProvider的概念ContentProvider:为存储和获取数据提供统一的接口.可以在不同的应用程序之间共享数据.Android已经为常见的一些数据提供了默认的ContentP ...
- Android四大组件之contentProvider
Activity,Service,broadcast and Contentprovider android 4 大组件. ContentProvider:使用: public class Image ...
- Android 四大组件之四(ContentProvider)
ContentProvider调用关系: ContentProvider(数据提供者)是应用程序之间共享数据的一种接口机制,是一种更为高级的数据共享方法. ContentProvider可以指定需要共 ...
- Android 四大组件之三(广播)
1.Android广播机制概述 Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的就是广播接收者(广播接收器).广播作为Android组件间的通 ...
随机推荐
- ios 中定时器:NSTimer, CADisplayLink, GCD
#import "ViewController.h" #import "RunloopViewController.h" @interface ViewCont ...
- linux驱动系列之调试环境搭建一
2014年刚开始学习linux时,搭建环境花了很多时间.当时最熟悉的是单片机如Mag16和stm32,依据以往学习单片机的经验肯定要用下载器下载程序,但是我找了很久没有比较好的IDE,不像Mag16有 ...
- 团体程序设计天梯赛-练习集L1-004. 计算摄氏温度
L1-004. 计算摄氏温度 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈建海 给定一个华氏温度F,本题要求编写程序,计算对应的 ...
- sequel 连接不上,命令行能连上
Sequel pro won't connect anymore I'm running into some trouble right now. I worked yesterday on my d ...
- sql删除wordpress没用的postmeta记录
支持多作者的wordpress博客,有时需要审核他们的文章内容,虽然UGC(User-generated content)整体是好的,但是也要控制一下质量,实在不相关或spam的文章就要毫不手软的删除 ...
- [LeetCode]Divide Two Integer
Divide two integers without using multiplication, division and mod operator. 思考:位运算.AC的时候真的想说一句“尼玛.. ...
- redis 性能监控和排查
最近项目中接连遇到redis出现瓶颈的问题,现在把排查的一些经验记录下来备查,本篇只是思路的整理,不涉及具体的使用. 大体的思路如下: 1.通过slow log查看 参考 http://www.cnb ...
- jmeter 响应结果分析一
转自:http://www.cnblogs.com/Carrie_Liang/archive/2008/11/05/1327604.html Jmeter测试结果分析这一篇,我打算分成上下两部分.上篇 ...
- [Unity菜鸟] 笔记2 —— 问题篇
记录在学习<Unity 3.x 游戏开发 经典教材>时遇到的各种问题与笔记 1. 初始不能降低Terrain的高度,需要到Terrain设置的第二个按钮中将Height从0调高 (注意:最 ...
- 第一个C语言代码
#include<stdio.h> void main() { int g1,g2,g3,r1,r2,r3,n; int m=0; float ave; i ...