课程目标:

理解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的更多相关文章

  1. 四大组件之ContentProvider

    前言 ContentProvider作为Android的四大组件之一,是属于需要掌握的基础知识,可能在我们的应用中,对于Activity和Service这两个组件用的很常见,了解的也很多,但是对Con ...

  2. Android实训案例(五)——四大组件之一ContentProvider的使用,通讯录的实现以及ListView的优化

    Android实训案例(五)--四大组件之一ContentProvider的使用,通讯录的实现 Android四大组件是啥这里就不用多说了,看图吧,他们之间通过intent通讯 我们后续也会一一的为大 ...

  3. Android 四大组件之" ContentProvider "

    前言 ContentProvider作为Android的四大组件之一,是属于需要掌握的基础知识,可能在我们的应用中,对于Activity和Service这两个组件用的很常见,了解的也很多,但是对Con ...

  4. Android四大组件之——ContentProvider(一)

    Android四大组件之--ContentProvider(一) 本人邮箱:JohnTsai.Work@gmail.com,欢迎交流讨论. 欢迎转载,转载请注明网址:http://www.cnblog ...

  5. 【Android开发日记】之入门篇(九)——Android四大组件之ContentProvider

    数据源组件ContentProvider与其他组件不同,数据源组件并不包括特定的功能逻辑.它只是负责为应用提供数据访问的接口.Android内置的许多数据都是使用ContentProvider形式,供 ...

  6. 初学android:四大组件之contentprovider

    一.ContentProvider的概念ContentProvider:为存储和获取数据提供统一的接口.可以在不同的应用程序之间共享数据.Android已经为常见的一些数据提供了默认的ContentP ...

  7. Android四大组件之contentProvider

    Activity,Service,broadcast and Contentprovider android 4 大组件. ContentProvider:使用: public class Image ...

  8. Android 四大组件之四(ContentProvider)

    ContentProvider调用关系: ContentProvider(数据提供者)是应用程序之间共享数据的一种接口机制,是一种更为高级的数据共享方法. ContentProvider可以指定需要共 ...

  9. Android 四大组件之三(广播)

    1.Android广播机制概述 Android广播分为两个方面:广播发送者和广播接收者,通常情况下,BroadcastReceiver指的就是广播接收者(广播接收器).广播作为Android组件间的通 ...

随机推荐

  1. Unity3d本地存储

    原文地址:http://blog.csdn.net/dingkun520wy/article/details/49386507 (一)简单数据存储PlayerPrefs 这种存储方法比较简单直接上代码 ...

  2. 团体程序设计天梯赛-练习集L1-012. 计算指数

    L1-012. 计算指数 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 陈越 真的没骗你,这道才是简单题 —— 对任意给定的不超过1 ...

  3. Good Bye 2015B

    Problem B:http://codeforces.com/contest/611/problem/B B. New Year and Old Property 题意:问输入的年份a到b中转化为二 ...

  4. 分析jQuery中的each方法

    在看jQuery源码是怎么实现each方法之前,我们看一下js的原生实现. ECMAScript 5为数组定义了一个forEach方法,该方法接受两个参数:第一个参数是要在每一个数组项上运行的函数,第 ...

  5. uva 567

    Floyd 算法   就输入麻烦点 #include <iostream> #include <cstring> #include <cstdlib> #inclu ...

  6. windows中断与共享的连接(samba)

    问题:window下当成功登录到samba服务器上的共享的目录的时候,若要是再系想登录此服务器上另外一个共享目录时,会弹出登录窗口. 但是不管输入的用户名和密码对错都会提示. “不允许一个用户使用一个 ...

  7. objective-c 在线视频 学习资料...

    ---视频 http://www.lanou3g.com/newslist.php?cid=7 http://edu.51cto.com/lesson/id-15489.html http://www ...

  8. Fibonacci sequence 求余数

    #include <iostream> using namespace std; int f(int n); int main() { int n; cin>>n; doubl ...

  9. iOS如何把导航默认的返回按钮设置成“返回”

    版权声明:本CSDN博客所有文章不更新,请关注标哥博客:http://www.henishuo.com/ - (void)addBackItemWithAction:(SEL)action { if  ...

  10. P102、面试题14:调整数组顺序使奇数位于偶数前面

    题目:输入一个整数数组,实现一个函数来调整该数组中数字的属性怒,使得所有奇数位于数组的前半部分,所有偶数位于数组的后半部分. 思路:其实就是用快速排序法的第一轮排序,从左右夹逼,左边遇到偶数,停下来, ...