【移动应用开发技术】Android 中ContentProvider如何使用_第1页
【移动应用开发技术】Android 中ContentProvider如何使用_第2页
【移动应用开发技术】Android 中ContentProvider如何使用_第3页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

【移动应用开发技术】Android中ContentProvider如何使用

本篇文章为大家展示了Android中ContentProvider如何使用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。ContentProvider的简单介绍:*Android中的ContentProvider机制可支持在多个应用中存储和读取数据。这也是跨应用

共享数据的唯一方式。在Android系统中,没有一个公共的内存区域,供多个应用共享存储数据;*Android提供了一些主要数据类型的ContentProvider,比如:音频、视频、图片和私人通讯录等;在vider包下面找到一些android提供的ContentProvider;可以通过获得ContentProvider,查询他们包含的数据(查询的条件是:已经获得适当的读取权限);1、Uri的介绍:Uri代表了要操作的数据,Uri主要包含了两部分的信息:

*

需要操作的ContentProvider

*

对ContentProvider

中的什么数据进行操作;

一个Uri由下列几个部分组成:

content://vider.personprovider/person/10解析:*

content://

:scheme

*

vider.personprovider

:

主机名或anthority

*

person/10

:

路径

*

10

:

ID1.1:ContentProvider(内容提供者)的scheme已经由Android所规定,scheme为content://主机名(或叫Authority)用于唯一标识这个ContentProvider,外部调用者可以根据这个标识来找到它。路径path,可以用来表示我们要操作的数据,路径的构建应根据业务定,例如:(1)要操作person表中id为10的记录,构建路径如下:/person/10;(2)要操作person表中id为10的记录的name字段:person/10/name;(3)要操作person表中的所有记录:

/person;(4)要操作xxx表中的记录:

/xxx;(5)如果要操作的数据部是来自数据库,而是来自文件、xml或网络等其他存储方式;例如:要操作xml文件中person节点下的name节点,构建路径如下:/person/name如果要把一个字符串转换成Uri,可以使用Uri类中的parse()方法:Uri

uri

=

Uri.parse("content://vider.personprovider/person");2、UriMatcher类使用介绍:由于Uri代表了要操作的数据,所以经常需要解析Uri,并从Uri中获取数据,Android中提供了两个用于操作Uri的工具类:*UriMatcher*ContentUrisUriMatcher类,用于匹配Uri,用法如下:/*

UriMathcer

类的用法

*/

public

void

uriMatcher(){

/*

常量UriMatche.NO_MATCH

标示部匹配任何路径的返回码

*/

UriMatcher

sMatcher

=

new

UriMatcher(UriMatcher.NO_MATCH);

/*

如果match()方法匹配content://vider.personprovider/person

路径,

*

返回匹配码为

1

*/

/*

添加需要匹配的URL

,如果匹配就会返回匹配码

*/

sMatcher.addURI("vider.personprovider",

"person",

1);

/*

#

为通配符

*//*

match():方法匹配:content://vider.personprovider/person/230

*

路径,

返回匹配码2

*

*/

sMatcher.addURI("vider.personprovider",

"person/#",

2);

/*

按上述添加的规则进行匹配,不同的路径匹配返回不同的匹配码

*//*

下列路径返回的匹配码为

2

*/

int

code

=

sMatcher.match(Uri.parse("content://vider.personprovider/person/10"));

}

提示:

注册需要匹配的Uri后,就可以使用sMatcher.match(uri)方法对输入的Uri进行匹配,如果匹配

就返回匹配码,匹配码是调用addURI()方法传入的第三个参数;3、ContentUris类的使用介绍:ContentUris类,用于获取Uri路径后面的ID部分,有两个比较实用的方法:*

withAppended(uri,id)

用于为路径加上ID

部分;

Uri

uri

=

Uri.parse("content://vider.personprovider/person");

/*

为路径添加ID部分

*/

Uri

resultUri

=

ContentUris.withAppendedId(uri,

10);

/*

添加后的值为:content://vider.personprovider/person/10

*/

*

parseID(uri)

从路径中获取ID

部分;

Uri

uri

=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论