四大组件之ContentProvider小结

简介:

总结提高,与君共勉

1、什么是Content Provider


内容提供器( Content Provider)主要用于在不同的应用程序之间实现数据共享的功能,提供了一套完整的机制,允许一个程序访问另一个程序中的数据,同时还能保证被访数据安全性。目前,使用内容提供器是 Android 实现跨程序共享数据的标准方式。

对数据使用者来说它是数据提供者。它提供统一的接口对数据进行操作,使用者不用关心数据到底是如何存储的以及数据类型到底是什么。也就是说,Content Provider作为数据提供者,提供了对外共享本地数据一种机制,使Android应用能方便地基于该机制进行数据访问。为了便于管理和访问,每个Content Provider必须有唯一标示,用Uri表示。Uri类似http url, 构成如下:content://authority/path


2、Content Provider与ContentResolver

内容提供者将一些特定的应用程序数据供给其它应用程序使用。数据可以存储于文件系统、SQLite数据库或其它方式。内容提供者继承于ContentProvider 基类,为其它应用程序取用和存储它管理的数据实现了一套标准方法。然而,应用程序并不直接调用这些方法,而是使用一个 ContentResolver 对象,调用它的方法作为替代。ContentResolver可以与任意内容提供者进行会话,与其合作来对所有相关交互通讯进行管理。

【Content Provider】提供如下函数

一个Content Provider类实现了一组标准的方法接口,从而能够让其他的应用保存或读取此Content Provider的各种数据类型。也就是说,一个程序可以通过实现一个Content Provider的抽象接口将自己的数据暴露出去。

•  query(Uri uri, String[] projection, String selection, String[] selectionArgs,String sortOrder):通过Uri进行查询,返回一个Cursor。
•  insert(Uri url, ContentValues values):将一组数据插入到Uri 指定的地方。
•  update(Uri uri, ContentValues values, String where, String[] selectionArgs):更新Uri指定位置的数据。
•  delete(Uri url, String where, String[] selectionArgs):删除指定Uri并且符合一定条件的数据。

【ContentResolver】提供如下函数

外界的程序通过ContentResolver接口可以访问ContentProvider提供的数据,在Activity当中通过getContentResolver()可以得到当前应用的 ContentResolver实例。
ContentResolver提供的接口和ContentProvider中需要实现的接口对应,主要有以下几个。
•  query(Uri uri, String[] projection, String selection, String[] selectionArgs,String sortOrder):通过Uri进行查询,返回一个Cursor。
•  insert(Uri url, ContentValues values):将一组数据插入到Uri 指定的地方。
•  update(Uri uri, ContentValues values, String where, String[] selectionArgs):更新Uri指定位置的数据。
•  delete(Uri url, String where, String[] selectionArgs):删除指定Uri并且符合一定条件的数据。

参考:http://blog.csdn.net/zuolongsnail/article/details/6566317


转载:http://blog.csdn.net/xsf50717/article/details/47346221

目录
相关文章
|
8月前
|
API 数据库 Android开发
Android ContentProvider内容提供者详解
Android ContentProvider内容提供者详解
37 2
|
10月前
|
存储 API 数据库
Android:四大组件之 ContentProvider(外共享数据)
数据库在 Android 当中是私有的,不能将数据库设为 WORLD_READABLE,每个数据库都只能允许创建它的包访问。这意味着只有创建这个数据库的应用程序才可访问它。也就是说不能跨越进程和包的边界,直接访问别的应用程序的数据库。那么如何在应用程序间交换数据呢? 如果需要在进程间传递数据,可以使用 ContentProvider 来实现。
209 0
Android:四大组件之 ContentProvider(外共享数据)
|
11月前
|
API 数据库 数据库管理
ContentProvider初探
ContentProvider初探
43 0
|
数据库
ContentProvider
构建content URI public class TaskContract { /* COMPLETED (1) Add content provider constants to the Contract Clients need to know how to access the task data, and it's your job to provide these content URI's for the path to that data: 1) Content authority, 2) Base content
111 0
ContentProvider
|
消息中间件 存储 Android开发
Android 四大组件之一:BroadCastReceiver动态注册广播流程
Android 四大组件之一:BroadCastReceiver动态注册广播流程
242 0
Android 四大组件之一:BroadCastReceiver动态注册广播流程
|
存储 缓存 Android开发
Android之本进程ContentProvider启动流程分析(3)
Android之本进程ContentProvider启动流程分析(3)
285 0
|
Android开发
Android之本进程ContentProvider启动流程分析(1)
Android之本进程ContentProvider启动流程分析(1)
147 0
|
存储 Android开发
Android之本进程ContentProvider启动流程分析(4)
Android之本进程ContentProvider启动流程分析(4)
329 0
|
Android开发
Android之本进程ContentProvider启动流程分析(2)
Android之本进程ContentProvider启动流程分析(2)
149 0

热门文章

最新文章