Android四大组件之ContentProvider简介
2017-07-23 16:10
465 查看
一、什么是ContentProvider
ContentProvider是所有应用程序之间数据存储和检索的桥梁,它的作用就是使得这个应用程序之间实现数据共享。在Android当中,ContentProvider是一中特殊的存储数据的类型,它提供一套标准的接口用来获取数据、操作数据。二、ContentProvider的作用
显然,ContentProvider是用于不同程序之间共享数据的,它提供一套标准的接口用来获取数据、操作数据。需要注意的是要在配置文件当中添加相应的权限。
三、实现数据共享的相关类、接口与权限
1、ContentProvider
一个程序可以通过实现一个ContentProvider的抽象方法接口将自己的数据暴露出去,外部程序可以通过一个标准的接口来和程序内的数据打交道。因此自定义一个ContentProvider类必须实现几个抽象方法接口。这些常用抽象方法如下表:方法 | 描述 |
query(Uri uri,String[] projection,String selection,String[] selectionArgs,String sortOrder) | 通过URI进行查询,返回一个Cursor对象 |
insert(Uri uri,ContentValues values) | 将一组数据插入到URI指定的地方 |
delete(Uri uri,String where,String[] selectionArgs) | 删除指定URI并且符合一定条件的数据 |
update(Uri uri,ContentValues values,String where,String[] selectionArgs) | 更新URI指定位置并且符合一定条件的数据 |
getType(Uri uri) | 获得MIME数据类型 |
onCreate() | 当ContentProvider创建时调用 |
getContext() | 获得Context对象 |
(1)Uri为指定的URI地址。
(2)projection为指定的返回列名。
(3)selection用于指定返回的行,相当于SQL语句中的WHERE条件子句。
(4)selectionArgs对参数selection中出现的“?”进行替换。
(5)sortOrder指定返回结果的排序方式。
2、ContentResolve
当外部应用程序需要对ContentProvider中的数据进行添加、删除、修改和查询操作,可以使用ContentResolve接口来完成,在Activity中通过getContentResolve()方法获取ContentResolve对象。ContentResolve提供的抽象方法与ContentProvider需要实现的方法对应,同样使用query()、insert()、delete()、update()等方法来操作数据,这些方法的名称和参数和ContentProvider中的一样。一般情况下,ContentProvider是单实例的,但是可以有多个ContentResolve在不同的应用程序和不同的进程之间和ContentProvider进行交互。
3、URI
URI是只想数据的一个资源标识符。通过URI使得ContentResolve知道与哪一个ContentProvider对应,并且来操作哪些数据。ContentProvider简单应用案例下载:点击打开链接
参考文献:
1、张冬玲,杨宁. Android应用开发教程:清华大学出版社,2013年4月第1版:207-211
相关文章推荐
- android四大组件之contentprovider与service简介
- Android 四大组件 (三) ContentProvider 使用简介
- Android四大组件之一ContentProvider与ContentResolver
- Android四大组件之Service(观第一行代码2随记)一.服务简介
- Android四大组件之ContentProvider
- Android四大组件之ContentProvider----数据共享
- Android四大组件之ContentProvider
- Android 之路44---四大组件之ContentProvider
- Android学习-四大组件(ContentProvider)
- Android笔记(五十四) Android四大组件之一——ContentProvider(一)
- [Android知识体系]之四大组件:ContentProvider简单介绍
- android四大组件之ContentProvider
- Android四大组件简介
- 【EASY ANDROID】第3节:四大组件简介与布局 发布
- android四大组件---ContentProvider
- 小谈Android四大组件之ContentProvider
- Android四大组件之ContentProvider
- 【Android学习之道】 四大组件之ContentProvider内容提供器
- 【Android】四大基本组件——Activity、Service、ContentProvider和BroadcastReceive
- Android四大组件之ContentProvider