付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
【移动应用开发技术】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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 1.6 解决简单的周期问题(分层作业) 人教版数学(2024)二年级下册(含答案)
- 2026年南阳科技职业学院单招职业适应性考试题库附参考答案详解(夺分金卷)
- 2026年包头铁道职业技术学院单招职业技能考试题库附答案详解(巩固)
- 2026年兰州航空职业技术学院单招职业技能考试题库附参考答案详解(黄金题型)
- 2026年北京科技大学天津学院单招职业技能测试题库附参考答案详解(巩固)
- 2026年南昌交通学院单招职业适应性测试题库及答案详解(网校专用)
- 2026年内江职业技术学院单招职业技能考试题库带答案详解(基础题)
- 2026年兰州资源环境职业技术大学单招职业倾向性考试题库及答案详解(夺冠系列)
- 某省市某省市及公共服务平台解决方案
- 液化气体生产工常识水平考核试卷含答案
- 2026年《必背60题》党校教师高频面试题包含详细解答
- 安全监察队伍培训班课件
- 儿科用药错误PDCA根因与改进
- 2026年青岛港湾职业技术学院单招综合素质笔试备考试题附答案详解
- 2025年重庆基层法律服务考试真题及答案
- 《化肥产品生产许可证实施细则(一)》(复肥产品部分)
- 2026年人教部编版小学四年级语文下册教学计划(含进度表)
- 2025年吉林省纪委监委公开遴选公务员笔试试题及答案解析
- 农业服务中心培训课件
- 肺挫伤合并肋骨骨折护理
- 在学习进阶中促进学生语言与思维协同发展
评论
0/150
提交评论