码迷,mamicode.com
首页 > 其他好文 > 详细

四大组件之ContentProvider小结

时间:2015-08-07 23:59:38      阅读:357      评论:0      收藏:0      [点我收藏+]

标签:android

总结提高,与君共勉

1、什么是Content Provider

Content Provider维护特定的应用数据,并可以让其它应用轻松访问该数据。对数据使用者来说它是数据提供者。它提供统一的接口对数据进行操作,使用者不用关心数据到底是如何存储的以及数据类型到底是什么。也就是说,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


版权声明:本文为博主原创文章,未经博主允许不得转载。

四大组件之ContentProvider小结

标签:android

原文地址:http://blog.csdn.net/xsf50717/article/details/47346221

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