-
Android URI&&URL的定义与使用
2016-09-12 18:09:24URI URL URN的原有英文与解释: URI (uniform resource identifier)统一资源标志符; URL(uniform resource location )统一资源定位符(或统一资源定位器); URN(uniform resource name )统一资源命名。 ...URI URL URN的原有英文与解释:
URI (uniform resource identifier)统一资源标志符;
URL(uniform resource location )统一资源定位符(或统一资源定位器);URN(uniform resource name )统一资源命名。什么是URL:URL是internet上用来描述信息资源文件的字符串,用在客户程序和服务器上,定位客户端连接服务器所需要的信息,它不仅定位了这个信息资源,而且定义了如何找到这个资源。什么是URI:URI是一个相对来说更广泛的概念,URL是URI的一种,是URI命名机制的一个子集,可以说URI是抽象的,而具体要使用URL来定位资源。web上的每一种资源如:图片、文档、视频等,都是由URI定位的,这里所谓的定位指的是web上的资源相对于主机服务器来说,存放在服务器上的具体路径。URI一般由三部分组成:访问资源的命名机制。
存放资源的主机名。
资源自身的名称。如下图所示:
将其分为A,B,C,D 4个部分:
A:标准前缀,用来说明一个Content Provider控制这些数据,无法改变的;
B:URI的标识,它定义了是哪个Content Provider提供这些数据。对于第三方应用程序,为了保证URI标识的唯一性,它必须是一个完整的、小写的 类名。这个标识在<provider> 元素的 authorities属性中说明:
<provider name=”.TransportationProvider” authorities=”com.example.transportationprovider” . . . >
C:路径,Content Provider使用这些路径来确定当前需要生什么类型的数据,URI中可能不包括路径,也可能包括多个;
D:如果URI中包含,表示需要获取的记录的ID;如果没有ID,就表示返回全部;
由于URI通常比较长,而且有时候容易出错,切难以理解。所以,在Android当中定义了一些辅助类,并且定义了一些常量来代替这些长字符串,例如:People.CONTENT_URI。同时Android系统还提供了两个用于操作Uri的工具类,分别为UriMatcher 和ContentUris。UriMatcher主要用于匹配URI,ContentUris主要用于获取Uri路径后面的ID部分。下面列举一些Android系统中常用的Uri例子:显示网页:- Uri uri = Uri.parse("http://www.google.com");
- Intent it = new Intent(Intent.ACTION_VIEW, uri);
- startActivity(it);
显示地图:- Uri uri = Uri.parse("geo:38.899533, -77.036476");
- Intent it = new Intent(Intent.Action_VIEW, uri);
- startActivity(it);
路径规划:- Uri uri = Uri.parse("http://maps.google.com/maps?f=d&saddr=startLat startLng&daddr=endLat endLng&hl=en");
- Intent it = new Intent(Intent.ACTION_VIEW, URI);
- startActivity(it);
调用拨号程序:- Uri uri = Uri.parse("tel:xxxxxx");
- Intent it = new Intent(Intent.ACTION_DIAL, uri);
- startActivity(it);
- Uri uri = Uri.parse("tel.xxxxxx");
- Intent it =new Intent(Intent.ACTION_CALL,uri);
- <uses-permission id="Android.permission.CALL_PHONE" />
调用发送短信/彩信的程序:- Intent it = new Intent(Intent.ACTION_VIEW);
- it.putExtra("sms_body", "The SMS text");
- it.setType("vnd.android-dir/mms-sms");
- startActivity(it);
发送短信:- Uri uri = Uri.parse("smsto:0800000123");
- Intent it = new Intent(Intent.ACTION_SENDTO, uri);
- it.putExtra("sms_body", "The SMS text");
- startActivity(it);
发送彩信:- Uri uri = Uri.parse("content://media/external/images/media/23");
- Intent it = new Intent(Intent.ACTION_SEND);
- it.putExtra("sms_body", "some text");
- it.putExtra(Intent.EXTRA_STREAM, uri);
- it.setType("image/png");
- startActivity(it);
发送EMail:- Uri uri = Uri.parse("mailto:xxx@abc.com");
- Intent it = new Intent(Intent.ACTION_SENDTO, uri);
- startActivity(it);
- Intent it = new Intent(Intent.ACTION_SEND);
- it.putExtra(Intent.EXTRA_EMAIL, "me@abc.com");
- it.putExtra(Intent.EXTRA_TEXT, "The email body text");
- it.setType("text/plain");
- startActivity(Intent.createChooser(it, "Choose Email Client"));
- Intent it=new Intent(Intent.ACTION_SEND);
- String[] tos={"me@abc.com"};
- String[] ccs={"you@abc.com"};
- it.putExtra(Intent.EXTRA_EMAIL, tos);
- it.putExtra(Intent.EXTRA_CC, ccs);
- it.putExtra(Intent.EXTRA_TEXT, "The email body text");
- it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");
- it.setType("message/rfc822");
- startActivity(Intent.createChooser(it, "Choose Email Client"));
添加附件:- Intent it = new Intent(Intent.ACTION_SEND);
- it.putExtra(Intent.EXTRA_SUBJECT, "The email subject text");
- it.putExtra(Intent.EXTRA_STREAM, "[url=]file:///sdcard/mysong.mp3[/url]");
- sendIntent.setType("audio/mp3");
- startActivity(Intent.createChooser(it, "Choose Email Client"));
播放多媒体:- Intent it = new Intent(Intent.ACTION_VIEW);
- Uri uri = Uri.parse("[url=]file:///sdcard/song.mp3[/url]");
- it.setDataAndType(uri, "audio/mp3");
- startActivity(it);
- Uri uri = Uri.withAppendedPath(MediaStore.Audio.Media.INTERNAL_CONTENT_URI, "1");
- Intent it = new Intent(Intent.ACTION_VIEW, uri);
- startActivity(it);
Uninstall APK- Uri uri = Uri.fromParts("package", strPackageName, null);
- Intent it = new Intent(Intent.ACTION_DELETE, uri);
- startActivity(it);
调用相册:- public static final String MIME_TYPE_IMAGE_JPEG = "image
- Uri packageURI = Uri.parse("package:"+wistatmap);
- Intent uninstallIntent = new Intent(Intent.ACTION_DELETE, packageURI);
- startActivity(uninstallIntent);
Install APK:- Uri installUri = Uri.fromParts("package", "xxx", null);
- returnIt = new Intent(Intent.ACTION_PACKAGE_ADDED, installUri);
- play audio
- Uri playUri = Uri.parse("[url=]file:///sdcard/download/everything.mp3[/url]");
- returnIt = new Intent(Intent.ACTION_VIEW, playUri);
搜索应用:- Uri uri = Uri.parse("market://search?q=pname:pkg_name");
- Intent it = new Intent(Intent.ACTION_VIEW, uri);
- startActivity(it);
- //where pkg_name is the full package path for an application
进入联系人页面:- Intent intent = new Intent();
- intent.setAction(Intent.ACTION_VIEW);
- intent.setData(People.CONTENT_URI);
- startActivity(intent);
查看制定联系人:- Uri personUri = ContentUris.withAppendedId(People.CONTENT_URI, info.id);//info.id联系人ID
- Intent intent = new Intent();
- intent.setAction(Intent.ACTION_VIEW);
- intent.setData(personUri);
- startActivity(intent);
- 顶
- 0
- 踩
-
uri和url的定义及关系
2011-09-19 11:31:061.什么是URI Web上可用的每种资源 - HTML文档、图像、视频片段、程序等 - 由一个通过通用资源标志符(Universal Resource Identifier, 简称"URI")进行定位。 URI一般由三部分组成: ... 存放资源的1.什么是URIWeb上可用的每种资源 - HTML文档、图像、视频片段、程序等 - 由一个通过通用资源标志符(Universal Resource Identifier, 简称"URI")进行定位。
URI一般由三部分组成:
- 访问资源的命名机制。
- 存放资源的主机名。
- 资源自身的名称,由路径表示。
考虑下面的URI,它表示了当前的HTML 4.0规范:
http://soft.webjx.com/lesson/148/2623648.shtml
这个URI是这样的:这是一个可通过HTTP协议访问的资源,位于主
机soft.webjx.com上,通过路径“/lesson/148/”访问。在HTML文档中其它资源包括"mailto"(收发email)和"ftp"(FTP访问)。
这是URI的另一个例子,指向一个用户的邮箱:
<A href=mailto:web@webjx.com>写给站长</A>
注:大多数读者可能熟悉"URL",而不是URI。URL是RUI命名机制的一个子集。
片段标志符
有的URI指向一个资源的内部。 这种URI以"#"结束,并跟着一个anchor标志
符(称为片段标志符)。例如,下面是一个指向section_2的URI:
http://somesite.com/html/top.htm#section_2
相对URI
相对URI 不包含任何命名规范信息。它的路径通常指同一台机器上的资源。相
对URI可能含有相对路径(如,“..”表示上一层路径),还可能包含片段标志符。
为了说明相对URI,假设我们有一个基本的URI http://www.acme.com/support/intro.htm
下面的链接中使用了相对URI:
<A href="104/2627604.shtml">网页陶吧</A>
它扩展成完全的URI就是 "http://homepage.webjx.com/104/2627604.shtml"。
下面是一个图像的相对URI:
<IMG src="http://www.webjx.com/htmldata/TLimages/img/head/logo.gif" alt="logo">
它扩展成完全的URI就是 "http://www.webjx.com/TLimages/img/head/logo.gif"。
在HTML中,URI被用来:
- 链接到另一个文档或资源(参看A和LINK元素)。
- 链接到一个外部样式表或脚本(参看LINK和SCRIPT元素)。
- 在页内包含图像、对象或applet(参看IMAG、OBJECT、APPLET和INPUT元素)。
- 建立图像映射(参看MAP和AREA元素)。
- 提交一个表单(参看FORM)。
- 建立一个框架文档(参看FRAME和IFRAME元素)。
- 引用一个外部参考(参看Q、BLOCKQUOTE, INS和DEL元素)。
- 指向一个描述文档的metadata(参看HEAD元素)。
2.什么是URL:
URL是Uniform Resource Location的缩写,译为“统一资源定位符”。通俗地说,URL是Internet上用来描述信息资源的字符串,主要用在各种WWW客户程序和服务器程序上,特别是著名的Mosaic。采用URL可以用一种统一的格式来描述各种信息资源,包括文件、服务器的地址和目录等。
URL的格式
URL的格式由下列三部分组成:
- 第一部分是协议(或称为服务方式);
- 第二部分是存有该资源的主机IP地址(有时也包括端口号);
- 第三部分是主机资源的具体地址。,如目录和文件名等。
第一部分和第二部分之间用“://”符号隔开,第二部分和第三部分用“/”符号隔开。第一部分和第二部分是不可缺少的,第三部分有时可以省略。
URL示例
文件的URL:
用URL表示文件时,服务器方式用file表示,后面要有主机IP地址、文件的存取路径(即目录)和文件名等信息。有时可以省略目录和文件名,但“/”符号不能省略。
例一:file://ftp.webjx.com/soft/file/robots.txt
代表存放主机ftp.webjx.com上的soft/file/目录下的一个文件,文件名是robots.txt。
例二:file://ftp.webjx.com/pub
代表主机ftp.webjx.com上的目录/pub。
例三:file://ftp.webjx.com/
代表主机ftp.webjx.com上的根目录。
Gopher的URL:
Gopher服务器有可能使用特殊的端口,在这种情况下,主机IP地址与端口之间要用“:隔开。
例一:gopher://gopher.webjx.com/
表示主机gopher.webjx.com上的gopher服务器。
例二:gopher://gopher.webjx.com:1234
表示主机gopher.webjx.com上的gopher服务器,在端口1234上。
网络新闻的URL:
利用URL表示网络新闻组时,如果是usenet的话只要指定出新闻组的名字即可。
例如:news:rec.gardening
表示usenet上的rec.gardening新闻组(园艺)。
HTTP的 URL:
使用超级文本传输协议HTTP,提供超级文本信息服务的资源。
例一:http://homepage.webjx.com/175/2603675.shtml
其计算机域名为homepage.webjx.com。超级文本文件(文件类型为.shtml)是在目录/175下的2603675.shtml。这是天极网的一台计算机。
-
ProxySG 对URL中Query部分的定义
2017-10-09 12:24:17ProxySG对URL中Query部分的定义需求
先来看下面这个例子
要求阻挡查询语句中URL=file的访问请求,放行查询语句中URL=http的访问请求
需求分析
ProxySG的其中一项主要功能就是对URL的精细控制,但VPM图形化界面中的URL Domain Object只能定义到Path,Path之后的内容无法定义到,这就意味着ProxySG无法控制后面的内容了吗?
不是的,我们先看一条URL所应包含的内容:上图已经把一条URL所涵盖的内容和其对应的CPL写了出来,我们只需要按照图中表示的内容写CPL即可
解决方法
写一条CPL
<Proxy> url.domain=//www.xxxx.com/ url.query.regex="URL=file" FORCE_DENY url.domain=//www.xxxx.com/ url.query.regex="URL=http" Allow
Problem solved!
-
django 2.0.2 url中的视图定义不同
2018-05-06 17:00:08在网络上好多的django1.8版本左右的教程中都是把视图定义写成:或者写成:但在django2的官方文档中,是建议在每一个APP中自己新建一个url.py文档,然后在project中的url.py文档中includeAPP中的url.py。include是一...在网络上好多的django1.8版本左右的教程中都是把视图定义写成:
或者写成:
但在django2的官方文档中,是建议在每一个APP中自己新建一个url.py文档,然后在project中的url.py文档中includeAPP中的url.py。
include是一个基于即插即用的理念设计的,所以目录进行了改变也不会影响。唯一值得注意的是:
当包括其它 URL 模式时你应该总是使用
include()
,admin.site.urls
是唯一例外。 -
URL 和 URL的区别
2016-04-22 11:24:45从鄙人程序员的角度理解,URI属于URL更低层次的抽象,一种字符串文本标准。...对于URL的定义是:统一资源定位符。 二者的区别在于,URI表示请求服务器的路径,定义这么一个资源。而URL同时说明要如何访问这个资源 -
vue定义全局Url
2019-01-22 09:34:32首先创建一个vue文件 然后在main引用在挂载到实例上就可以 使用的时候直接this.Api就等于https://blog.csdn.net/weixin_41916005,在更改测试url和发布url很方便... -
base定义了所有链接的URL
2018-09-04 13:51:00HTML<title>元素不仅可以显示文本,也可以在左侧显示logo等图片。 显示时,要将<link>标签放入<head>里。 举例: <!doctype HTML&...图片url"&am -
.net Core Razor Pages中定义SEO友好的URL
2018-03-16 11:00:55假如在你的project的post.cshtml的位置是这样的~/pages/post.cshtml,那么你的url就是http://{your domain}/post,如果想实现http://{your domain}/post/2018/03/21这样的url要怎么做呢,下面就是方法: ... -
URL定义、格式、常见协议
2020-04-22 01:46:18URL的全称是Uniform Resource Locator(统一资源定位符) URL就是资源的地址、位置,互联网上的每个资源都有一个唯一的URL 通过1个URL,能找到互联网上唯一的1个资源 URL的格式 URL的基本格式 = protocol://... -
vue公共URL 定义方法(六)
2019-04-10 15:00:02这里写自定义目录标题定义公共变量正确的方式原因解释 定义公共变量 vue3.0中,放在public文件夹下文件并不一定会不被打包。如果在main.js中直接引用,肯定会被webpack打包。如下写法在打包后,及时更改了url.js中的... -
IDEA中安装Restfultookit插件实现根据 URL 直接跳转到对应的方法定义
2019-04-09 14:31:21Spring MVC网页开发的时候,我们都是通过requestmapping的方式来定义页面的URL地址的,为了找到这个地址我们一般都是cmd+shift+F的方式进行查找,大家都知道,我们URL的命名一个是类requestmapping+方法... -
腾讯微博分享的url能自己定义吗?本来自己定义了的,但分享后默认是点击时地址栏上的地址
2017-06-14 08:03:39我用了share分享插件,其他分享qq好友,新浪微博分享,空间分享,都正常 ...看看我设定的url,都没有按照我的设定的url去分享  -
URL,href和src的定义与区别
2017-04-02 16:09:39如果目标文件与当前页面(也就是包含URL的页面)在同一个目录,那么这个文件的相对URL仅仅是文件名和扩展名,如果目标文件在当前目录的子目录中,那么它的相对URL是子目录名,后面是斜杠,然后是目标文件的文件名和... -
定义一个方法get_page(url),url参数是需要获取网页内容的网址,返回网页的内容
2016-10-20 09:48:56定义一个方法get_page(url),url参数是需要获取网页内容的网址,返回网页的内容。提示(可以了解python的urllib模块)。 import urllib.request def get_page(url): try: response = urllib.request.urlopen... -
SpringMVC使用Restful风格定义URL
2017-11-27 18:22:52一、简介 首先restfule只是一种风格,并不是具体的某项技术或框架。就好比我们的坐姿,没使用rest之前,我们会翘着二郎腿,歪着头,而使用rest之后,就要求我们抬头,挺背,端正的坐着。...二、传统url的理解在以前的u -
关于python的url处理
2016-10-05 21:16:39基本环境: python2.71 完整的url语法格式: ...域名.顶级域名:端口号/目录/文件名....参数=值#标识2 urlparse模块对url的处理方法 urlparse模块对url的主要...该模块对url的定义采用六元组的形式:schema://netloc/pa -
thinkphp框架index.php文件中定义site_url的小技巧
2015-04-27 09:01:56为了简化操作,我们经常使用“模板替换”来定义个性化的路径,如://模板替换 'TMPL_PARSE_STRING' =>array( '__BOOTSTRAP__' => SITE_URL.'/Public/bootstrap3.3',//bootstrap路径规则 '__UPLOAD__' => SITE_URL... -
url、src、href定义以及使用区别
2016-04-09 22:33:00主要包括:url、src、href定义以及使用区别。 URL(Uniform Resource Locator) 统一资源定位符是对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有... -
让DJANGO里的get_success_url定义的reverse_lazy带参数跳转
2016-03-16 16:06:00按一般的CBVS实现,这个是编辑UPDATEVIEW完成之后,跳到LISTVIEW的。 但如果带跳到DETAILVIEW,则reverse_lazy需要带上参数进行跳转。 实现预定义的PK键跳转代码如下: class RightManageUpdateFATView... -
datatables edit 重新定义 创建 修改 删除的 URL路径
2016-09-18 13:00:42url: '../php/rest/create.php' }, edit: { type: 'PUT' , url: '../php/rest/edit.php?id=_id_' }, remove: { type: 'DELETE' , ... -
Yii2中系统定义的常用路径别名,如果获取web的url
2015-10-08 19:13:20下面这些别名都是在Yii2里面系统定义的,可以直接拿来就用 '@yii' => '@yii/swiftmailer' => string 'C:\wamp\www\advanced\vendor/yiisoft/yii2-swiftmailer' (length=52) '@yii/gii' => string '... -
网络资源的定义--URI,URL,URN
2016-09-12 15:13:22网络资源主要是指借助于网络环境可以利用的各种信息资源的总和,例如HTML文档、图像、视频,音频、程序等等。 那么如何访问这些资源呢? 比如,今天朋友发给我一个链接:... -
thinkphp路由重定义简化url访问地址
2017-02-16 09:31:57如果按照正常访问的话,则需要输入一长串的url地址,这样会显得十分冗长,我可以可以通过对路由规则的重新定义简化url访问地址。 namespace app\index\controller; class Index{ public function index(){ return... -
URL格式
2017-11-18 12:25:44参考了百度百科,说一下URL同志的格式问题:URL的定义:在WWW上,每一信息资源都有统一的且在网上唯一的地址,该地址就叫URL(Uniform Resource Locator,统一资源定位符),它是WWW的统一资源定位标志,就是指网络... -
HTMlEncode和HTMLDecode、UrlEncode和 UrlDecode 定义和用法
2017-03-03 11:01:111.HTMLEncode函数:除了server.htmlencode的所有功能以外,还有转化回车和空格的功能,可以将textarea中输入的文本按照原样在html中显示 代码如下: function HTMLEncode(fString) fString = replace(f...