Android中URI的格式
在Android中,为了使用数据集中管理模式,使用了ContentProvider来进行数据管理,在使用ContentProvider进行 数据交互时就需要用到URI。为了让客户端程序能够使用你的数据,你必须要定义一个公开的URI,它由一些固定格式的文字组成,可以分成下面几个部分:
content://
一个标准的URI前缀,它用来指示Android必须从ContentProvider中挑出一个来处理这个URI。
authority
一个唯一的标识符,标示这个URI需要查找的ContentProvider是由哪个组织开发的,一般用跟java包命名规范相似的方式来署名这个 开发组织。如果是Android内置的provider,则这个authority可以省略掉,否则authority是必须的,Google建议使用用 户自定义的继承ContentProvider的类的全名来作为,这个ContentProvider所要处理的URI的authority
path(路径)
ContentProvider根据这个路径信息来判断要返回什么类型的数据,所以这个后缀路径可以自由定义,但是有一些条件限制:货运专家
如果一个ContentProvider能查询返回很多种不同类型的数据,URI后缀要设置不同类型的数据所对应不同的URI后缀如内置的 Contact ContentProvider就是用来处理名片夹,它可以返回很多种类型的数据:联系人、电话、联系方式等。所以对应这些不同类型的数据就有不同的 URI后缀匹配:
1
|
content://contacts/people/1
|
上面是返回一个人员
1
|
content://contacts/people/1/phone/3
|
返回一个电话号码。
而且我们要为不同的数据类型设置不同的MIME类型,第一个MIME类型是:vnd.android.cursor.item/person第二个MIME类型是:vnd.android.cursor.item/phone。
同时ContentProvider不仅可以返回单条数据,也可能以目录的形式返回多条数据。以上面2个URI来说,后缀的结尾都是数字,这表示查询对应某条记录,所以返回的数据是单条的,而如果是查询目录的形式就要去掉后面的数字如:软件开发
1
2
|
content://contacts/people/1/phone
content://contacts/people
|
上面就是目录形式,对应他们的MIME类型也不同,所以我们将单条的MIME类型中的item改为dir,所以MIME类型是:vnd.android.cursor.dir/phone和vnd.android.cursor.dir/person。
A: 标准前缀,表达的意思是使用ContentProvider来处理信息。
B: authority
C: 后缀1,一般用来表示请求需要获取的是哪种类型的数据(确定MIME类型的功能)。
D:定位记录。确定对应类型的数据中的哪条记录。
转载于:https://www.cnblogs.com/ctou45/archive/2011/08/17/2142476.html
Android中URI的格式相关推荐
- android 视频转字节,如何将视频文件(.mp4)格式转换为android中的二进制格式?...
我想在网络服务器上传视频.我得到了我想要以二进制格式传递文件的服务,我该怎么做?如何将视频文件(.mp4)格式转换为android中的二进制格式? 我试图通过base64将视频文件转换为二进制格式.. ...
- Android解析xml的方法,Android中解析XML格式数据的方法
XML介绍:Extensible Markup Language,即可扩展标记语言 一.概述 Android中解析XML格式数据大致有三种方法: SAX DOM PULL 二.详解 2.1 SAX S ...
- Android中Uri的使用
1.Uri 通用资源标志符(Universal Resource Identifier, 简称"URI"). Uri代表要操作的数据,Android上可用的每种资源 - 图像.视频 ...
- Android中Uri 和Path之间的相互转化
Android Uri to Path 现在遇到的常规Uri有两种: 媒体文件的Uri是content://, 表示这是一个数据库数据.去数据库查询正常返回. 其他的文件Uri是file://, 表示 ...
- android中uri的作用,Android UrlUri详细解析
概述 在项目开发中,有时会遇到解析Url.Uri的需求,要从中得到链接中的相应字段.参数等.有多种实现方式,在这里总结一下应用到的. URL与URI的区别 Uri - 统一资源标志符 Url - 统一 ...
- Android中Uri和Path之间的转换
Android Uri to Path 现在遇到的常规Uri有两种: 媒体文件的Uri是content://, 表示这是一个数据库数据.去数据库查询正常返回 其他的文件Uri是file://, 表示这 ...
- android打开各种文件格式,笔记-Android中打开各种格式的文件(apk、word、excel、ppt、pdf、音视频、图片等)...
打开后缀.apk的文件.即启动安装程序. //apkFilePath 文件路径 public void installAPK(String apkFilePath) { // 创建URI Uri ur ...
- android中edittext设置密码格式,Android 自定义EditText(带清理、密码可见、不可见)...
实际开发中经常会遇到输入框,各种不同的需求,在一般情况下,清除内容,以及密码可见与不可见基本很常见,那么不废话直接上代码! 在res\values\attrs.xml中 .java import an ...
- android 中解析json格式数据
本文来自http://tonysun3544.iteye.com/category/188238 package com.tony.json; import android.app.Activity; ...
最新文章
- Nature综述:真菌的多样性:真菌的高通量测序及鉴定
- C++ dll 类型与 C#类型对应关系
- BZOJ2002: [Hnoi2010]Bounce 弹飞绵羊
- 认识微软Visual Studio Tools for AI
- 安装程序无法创建新的系统分区也无法定位现有系统分区_如何拥有一个 Windows 10 和 Debian 10 的双系统...
- 点(Dot)与像素(Pixel)的区别
- oracle监听 客户 实例,oracle 数据库实例 监听
- StandardContext
- Visual Studio 2008的注册方法(解除试用90天)
- 这几个行业会从物联网革命中获得最大利益
- Office 365系列之十二:ActiveDirectory同步
- 【改进】C# WinForm捕获全局异常 SamWang
- Nginx 与 Tomcat,Apache的区别
- 从词袋到 Transfomer,NLP 十年突破史
- Java Web中相对路径与绝对路径的分析
- 微软:SolarWinds 黑客的目标是受害者的云数据
- windows IIS的IUSR和IIS_IUSRS 2
- 杰控连接mysql_杰控FameView在数据库连接和查询方面的应用
- 在CSDN开通博客专栏后如何发布文章及改进建议(图文)
- 无电流时二极管压降问题
热门文章
- java jni librtmp_编译Android平台libRTMP库
- java 装饰器_JAVA装饰器模式
- mysql 数据库连接不够_(二):MySQL数据库连接不够用(TooManyConnections)问题的一次分析和解决案例...
- 初入java行业,环境你可知如何配置
- Python3+TensorFlow人脸识别:1-1课程导学
- 导出oracle数据c#代码,C# 程序导入导出oracle数据库
- php点击按钮查询,管理界面点击按钮打开查询功能
- mysql 创建分区索引吗_MySQL分区字段列有必要再单独建索引吗?
- oracle导入导出还原,Oracle 备份 还原 数据库 导入导出
- loot recycler_loot++ - MC百科搜索 - MC百科|最大的Minecraft中文MOD百科