【Android】Uri和Url和URN

最早在Android方面接触这两个概念,是学习ContentProvider的时候,当时花了很多时间,始终不能很好的理解他们的区别,顺带着ContentProvider的用法也无法理解,最近通过实现网页链接和Android-APP的无缝跳转问题,对这里的区别有了一定的认识。

下面是来自StackOverFlow上的一段解释What's the difference between a URI and a URL?:

A URI can be further classified as a locator, a name, or both. The term "Uniform Resource Locator" (URL) refers to the subset of URIs that, in addition to identifying a resource, provide a means of locating the resource by describing its primary access mechanism (e.g., its network "location"). The term "Uniform Resource Name" (URN) has been used historically to refer to both URIs under the "urn" scheme [RFC2141], which are required to remain globally unique and persistent even when the resource ceases to exist or becomes unavailable, and to any other URI with the properties of a name.

URI(Uniform Resource Identifier)中文名为统一资源标识符。

URL(Uniform Resource Locator)中文名字为统一资源定位符。

Examples

  • Roger Pate

This is my name, which is identification. It is like a URI, but cannot be a URL, as it tells you nothing about my location or how to contact me. In this case it also happens to identify at least 5 other people in the USA alone.

  • 4914 West Bay Street, Nassau, Bahamas

This is a location, which is identification for that physical location. It is like both a URL and URI (since all URLs are URIs), and also identifies me indirectly as "resident of..". In this case it uniquely identifies me, but that would change if I get a roommate.

I say "like" because these examples do not follow the required syntax.

URIs identify and URLs locate; however, locations are also identifications, so every URL is also a URI, but there are URIs which are not URLs.

 

在Wikipedia上面,解释如下:

URIs can be classified as locators (URLs), as names (URNs), or as both. A uniform resource name (URN) functions like a person's name, while a uniform resource locator (URL) resembles that person's street address. In other words: the URN defines an item's identity, while the URL provides a method for finding it.

uniform resource locator, abbreviated URL, also known as web address, is a specific character string that constitutes a reference to a resource. In most web browsers, the URL of a web page is displayed on top inside an address bar. An example of a typical URL would be "http://en.example.org/wiki/Main_Page".

三者的关系如下:

 

 

OK,上面一大段英文之后,如果看懂了,基本上有了一个大概的了解,URN确定了一个资源的身份,比如,我可以叫你为大脚印,大脚印标志了你的身份,但是我应该如何找到你呢?XX学校XX班级的大脚印!这是一个URL(但是其实根据上面URL的定义,URL定义的应该是网址,我的理解是,URL代表着URI的一种形式,URI中用来标志一个资源位置的方式还有很多,最常见的比如文件系统中的某个文件的绝对地址),通过这个URL我们可以找到这个资源!URL和URN同统一包含于URI。

下面我去整理一下ContentProvider的有关文章。

 

转载于:https://www.cnblogs.com/lqminn/archive/2013/04/20/3031949.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/474504.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

LeetCode 1259. 不相交的握手(DP)

文章目录1. 题目2. 解题1. 题目 偶数 个人站成一个圆,总人数为 num_people 。 每个人与除自己外的一个人握手,所以总共会有 num_people / 2 次握手。 将握手的人之间连线,请你返回连线不会相交的握手方案数。 由于结果可能会很大&#xf…

查看系统表存储过程名称

SELECT *,OBJECT_NAME(id) FROM syscomments转载于:https://www.cnblogs.com/niaowo/archive/2013/04/21/3033668.html

外星人装深度linux,17xR4深度拆机教程、加装MSATA固态硬盘及评测

本帖最后由 wellsyue 于 2012-6-20 20:45 编辑看到其他板块在三代IVY推出后,陆续发布了很多加装MSATA的帖子,发现外星人板块还没有17R4加装MSATA的帖子,在此,发布M17x R4加装MSATA教程一贴,既然是教程,就应…

LeetCode 248. 中心对称数 III(DFS/BFS)

文章目录1. 题目2. 解题2.1 DFS2.2 BFS1. 题目 中心对称数是指一个数字在旋转了 180 度之后看起来依旧相同的数字(或者上下颠倒地看)。 写一个函数来计算范围在 [low, high] 之间中心对称数的个数。 示例: 输入: low "50", high "10…

sysctl简介

sysctl配置与显示在/proc/sys目录中的内核参数.可以用sysctl来设置或重新设置联网功能,如IP转发、IP碎片去除以及源路由检查等。用户只需要编辑/etc/sysctl.conf文件,即可手工或自动执行由sysctl控制的功能。 命令格式: sysctl [-…

u盘引导linux加载raid卡驱动,使用U盘加载SCSI/RAID卡驱动

hai00882008-01-30 15:53我只備份一次,我的磁帶有400G, 備份第二次,磁帶就彈出來,我的tapelist里的內容 20080130151855 DailySet1-01 reuse是不是和我的anmanda.conf的chg-manua(更換磁帶的腳本)l這個腳本有關係,-sh-3.00$ amcheck DailySet1Amanda Tape Server Host Check---…

LeetCode 1067. 范围内的数字计数

文章目录1. 题目2. 解题1. 题目 给定一个在 0 到 9 之间的整数 d,和两个正整数 low 和 high 分别作为上下界。 返回 d 在 low 和 high 之间的整数中出现的次数,包括边界 low 和 high。 示例 1: 输入:d 1, low 1, high 13 输…

多参的实现原理

相信大家都使用过C语言的库函数:printf("%d%d", 1, 2)的吧,使用确实很方便功能也很强大。 但是为什么它可以接受多个参数呢? 现在我们来解析一下多参的实现原理,网上也找了一些文章。发现解析得都不全面。并且有BUG。 先…

学生成绩统计c语言课程设计,学生成绩管理系统-C语言课程设计

记一次课程设计作业 学生成绩管理系统#include#include#include#include/*学生成绩管理系统介绍2017C语言课程设计 2021609361.支持将数据保存到文件并从文件中读取已有数据2.支持添加、删改数据3.支持按学号或姓名查询、删除、修改数据4.支持简单统计,包括 不及格…

LeetCode 439. 三元表达式解析器

文章目录1. 题目2. 解题2.1 递归2.2 循环1. 题目 给定一个以字符串表示的任意嵌套的三元表达式,计算表达式的值。 你可以假定给定的表达式始终都是有效的并且只包含数字 0-9, ?, :, T 和 F (T 和 F 分别表示真和假)。 注意: 给定的字符串…

Java中,String类型和包装类型作为参数传递时,是属于值传递还是引用传递呢?...

《Java中,String类型和包装类型作为参数传递时,是属于值传递还是引用传递呢?》 《Java中的值传递和引用传递》 原理知识: 如果参数类型是原始类型,那么传过来的就是这个参数的一个副本,也就是这个原始参数的值,这个跟…

c语言结构内部定义指针,C语言知识补漏(一)结构体指针以及位域定义

一、结构体指针typedef struct{unsignedlong int DATA;unsignedlong int DIRECTION;unsignedlong int INTERRUPT_MASK;unsignedlong int EDGE_CAPTURE;}PIO_STR;//define LED Register#ifdef _LED#define LED ((PIO_STR *)LED_BASE) //表示定义了一个PIO_STR的指针,…

LeetCode 1216. 验证回文字符串 III(DP)

文章目录1. 题目2. 解题1. 题目 给出一个字符串 s 和一个整数 k,请你帮忙判断这个字符串是不是一个「K 回文」。 所谓「K 回文」:如果可以通过从字符串中删去最多 k 个字符将其转换为回文,那么这个字符串就是一个「K 回文」。 示例&#x…

武松打虎进化版

[代码] [Java]代码 import java.util.*; class Q {boolean b false;Random r null;//武松的血条int wusongblood 10;//老虎的血条int tiggerblood 10;public Q(){r new Random();}// http://www.haokk123.info/linked/20130424.do 武松侵犯public synchronized void wugon…

c语言表达式10 amp 6等于多少,C语言基础——表达式

目录回顾:一、定义概念:二、表达式的分类举例说明:(一)首先是加、减、乘、除、取余四种表达式:(二)一元表达式(三)强制转换表达式(四)判断表达式(五)逻辑表达式(六)移位表达式小结写在最后:回顾:在上一篇博…