码迷,mamicode.com
首页 > 移动开发 > 详细

Android-ContentProvider

时间:2015-06-25 14:02:17      阅读:126      评论:0      收藏:0      [点我收藏+]

标签:android   内容提供器   

Android-ContentProvider

一 ContentProvider定义及特性
1 ContentProvider:内容提供器,是一套存储访问数据的通道(实际上是一个通道),让你无需了解下面的储存细节的实现和数据操作及共享

2 无论具体储存是何种,存在哪里,对外提供的模型是统一的

3 定义的ContentProvider对象,会在系统初始化的时候自动实例化,无需手动,类似于service服务

4 只需通过ContentResolve去取和操作数据,ContentResolve和ContentProvider是相互配对的

5 特性:唯一的共享程序间数据方式,Android没有提供公共数据区然不同的程序去共享访问

二 ContentProvider实现机制
总结来说,是具体实现的下面三层结构

1 内部实现层:包含了一些数据,SharePreference,文件,网络,SQLite等的数据层

2 对外提供的ContentProvider层:是对数据层方法的进一步封装

3 APP与ContentProvider通讯层:使用ContentResolver来与ContentProvider层进行通讯

12两层通讯称为ContentProvider的自定义实现

23两层通讯称为ContentProvider的调用

实现的设计模式:观察者模式,监听与被监听

三 ContentProvider使用的原因
1 为了使应用程序下的具体的数据(具体的私有路径,限制了访问的权限)能够共享

2 Android系统由于安全的因素,提供的一些数据访问

3 让开发者能够访问不能直接开放给开发者的数据

4 可以使自定义的数据库程序(已经封装并且提供一套公共的标准)让外部调用而不是直接操作自定义的数据库

四 系统提供的ContentProvider
Browser浏览器
CallLog通话记录
ContactContract用户联系人
Calendar日历
MediaStore媒体库
Settings设置
UserDIctionary用户字典

五 URL网址
标准前缀 数据库的地址 数据库的表的名称 表的主键的名称
技术分享
面试题
如何操作系统的Setting程序
1 SharePreference,
2 开启系统Setting的Activity
3 直接修改系统设置信息,不去调用设置的Activity就用ContentProvider

ContentProvider对象何时被实例化
会在系统初始化的时候自动实例化,无需手动

ContentProvider数据模型画出来
技术分享
ContentProvider的实现机制
见上面

ContentProvider与Android数据存储的关系
实现机制的第一层的数据层就是数据存储层(DBS)

Android-ContentProvider

标签:android   内容提供器   

原文地址:http://blog.csdn.net/qq_22075977/article/details/46635587

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!