加入收藏 | 设为首页 | 会员中心 | 我要投稿 开发网_开封站长网 (http://www.0378zz.com/)- 科技、AI行业应用、媒体智能、低代码、办公协同!
当前位置: 首页 > 教程 > 正文

Android开发教程:畅聊Content Provider

发布时间:2021-11-24 16:20:52 所属栏目:教程 来源:互联网
导读:一.Content Provider的概念介绍 Content Providers是所有应用程序之间数据存储和检索的桥梁,它使得各个应用程序之间实现数据共享。是应用程序间共享数据的唯一途径。Content Provider 主要的功能就是存储并检索数据以及向其他应用程序提供访问数据的接口。

一.Content Provider的概念介绍
 
Content Providers是所有应用程序之间数据存储和检索的桥梁,它使得各个应用程序之间实现数据共享。是应用程序间共享数据的唯一途径。Content Provider 主要的功能就是存储并检索数据以及向其他应用程序提供访问数据的接口。其中包括添加,删除,查询,更新等操作。
 
在Content Provider使用过程中,还需要借用ContentResolver对象间接来操作ContentProvider来获取数据。ContentResolver通过应用程序的getContentResolver()方法获得。一般情况下,ContentResolver是单实例的,但是可以有多个ContentResolver在不用的应用程序和不同的进程之间和ContentResolver交互。
 
二.Content Provider的简介
 
1.Content Provider的常用方法
 
//查询  
query(Uri, String[], String, String[], String);  
//插入  
insert(Uri, ContentValues);  
//更新  
update(Uri, ContentValues, String, String[]);   
//删除  
delete(Uri, String, String[]);  
//获得MIME数据类型  
getType(Uri);
2.数据模型
 
Content Provider 将其存储的数据以数据表的形式提供给访问者,在数据表中每一行为一条记录,每一列为具有特定类型和意义的数据。每一条数据记录都包括一个 "_ID" 数值字段,改字段唯一标识一条数据。
 
_ID
 
NUMBER
 
NUMBER_KEY
 
LABEL
 
NAME
 
TYPE
 
13
 
(425) 555 6677
 
425 555 6677
 
Kirkland office
 
Bully Pulpit
 
TYPE_WORK
 
44
 
(212) 555-1234
 
212 555 1234
 
NY apartment
 
Alan Vain
 
TYPE_HOME
 
45
 
(212) 555-6657
 
212 555 6657
 
Downtown office
 
Alan Vain
 
TYPE_MOBILE
 
53
 
201.555.4433
 
201 555 4433
 
Love Nest
 
Rex Cars
 
TYPE_HOME
 
3.URI
 
URI,每一个Content Provider 都对外提供一个能够唯一标识自己数据集(data set)的URI, 如果一个Content Provider管理多个数据集,其将会为每个数据集分配一个独立的URI。Content Provider就是通过URI对象来共享其数据的。
 
URI的格式图如下:
 
 
 
 各个部分的组成:
 
A:标准前缀,是固定的,"content://"是用来标识数据是由Content Provider管理的 schema。
 
B:URI的标识,它定义了是哪个Content Provider提供这些数据。对于第三方应用程序,为了保证URI标识的唯一性,它必须是一个完整的、小写的类名。这个标识在 元素的 authorities属性中说明:一般是定义该ContentProvider的包.类的名称
 
C:需要访问的数据字段名称。
 
D:如果URI中包含表示需要获取的记录的_ID;如何有D部分,则就返回该_ID对应的数据,否则表示返回整张表的数据 

(编辑:开发网_开封站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读