• Android开发-API指南-<data>


    <data>

    英文原文:http://developer.android.com/guide/topics/manifest/data-element.html
    采集(更新)日期:2014-6-30
    搬迁自原博客:http://blog.sina.com.cn/s/blog_48d491300101h236.html

    语法:
    <data android:scheme="string"
          android:host="string"
          android:port="string"
          android:path="string"
          android:pathPattern="string"
          android:pathPrefix="string"
          android:mimeType="string" />
    包含于:
    <intent-filter>
    说明:
    在 Intent 过滤器中加入一个数据项的定义。 此定义可以只有数据类型(mimeType 属性)、 只有URI,也可以既有数据类型又有 URI 。 URI 由多个独立属性组合而成,如下所示:

    <scheme> :// <host> : <port> /[ <path> | <pathPrefix> | <pathPattern> ]

    这些定义 URL 格式的属性是可选项,但也具有相互依赖性:

    • 如果没有为 Intent 过滤器定义 scheme ,则所有其他 URI 属性将被忽略。
    • 如果没有为 Intent 过滤器定义 host,则 port 属性和所有路径属性都将被忽略。

    包含于同一个 <intent-filter> 元素内的所有 <data> 元素均作用于同一个过滤器。 例如,以下过滤器的定义:

    <intent-filter . . . >
        <data android:scheme="something" android:host="project.example.com" />
        . . .
    </intent-filter>

    就等同于以下定义:

    <intent-filter . . . >
        <data android:scheme="something" />
        <data android:host="project.example.com" />
        . . .
    </intent-filter>

    在一个 <intent-filter> 内可以放置任意数量的 <data> 元素,以便给出多个数据项。 所有属性都没有默认值。

    关于 Intent 过滤器的工作机制,包括 Intent 对象与过滤器的匹配规则,可以查阅另一篇文档 Intent 和 Intent 过滤器 。请参阅 Manifest 概述中的 Intent 过滤器 章节。

    属性:
    android:scheme
    URI 的 scheme 部分。 这是定义一个 URI 至少必须具备的属性,否则其他 URI 属性都没有意义。

    scheme 请不要以冒号结尾(比如应为 http ,而不是 http:)。

    如果过滤器定义了数据类型( mimeType 属性),但没有定义 scheme , 则系统假定使用 content:file: 类型的 scheme 。

    注意: 与 RFC 不同,符合 Android 平台要求的 scheme 类型是大小写敏感的。 因此,请确保使用小写字母来指定 scheme 类型。

    android:host
    URI 的主机名部分。 只有同时为过滤器指定了 scheme 属性后,本属性才有意义。

    注意: 与通常的 RFC 不同,符合 Android 平台要求的主机名是大小写敏感的。 因此,请确保用小写字母指定 host 。

    android:port
    URI 的端口部分。 只有同时为过滤器指定了 schemehost 属性后,本属性才有意义。
    android:path
    android:pathPrefix
    android:pathPattern
    URI的路径部分。 path 属性定义了匹配 Intent 对象的完整路径。 pathPrefix 属性定义了匹配 Intent 对象路径的起始部分。 pathPattern 属性定义了匹配 Intent 对象的完整路径,只是可包含以下通配符:
    • 用星号(“*”)匹配紧随其前的字符的0次或多次出现。
    • 句点后跟星号(“.*”)匹配任何字符的0次或多次出现。

    在从 XML 读取字符串时(在作为表达式被解析以前),“”被用作了转义字符, 因此需要进行二次转义:比如,“*”应写成 "\*" ,“”应写成 "\\" 。 这基本上和 Java 代码里构造字符串的写法相同。

    关于这三种表达式的更多信息,请参阅 PatternMatcher 类中的 PATTERN_LITERALPATTERN_PREFIXPATTERN_SIMPLE_GLOB 的说明。

    仅当过滤器的 schemehost 属性都已定义时,这些属性才有意义。

    android:mimeType
    MIME多媒体类型,比如 image/jpegaudio/mpeg4-generic 。 子类型可以是通配符星号(*),这表示可匹配任意子类型。

    Intent 过滤器常常会声明一个仅包含 android:mimeType 属性的 <data>

    注意: 注意:与通常的 RFC MIME 类型不同,符合 Android 平台要求的 MIME 类型是大小写敏感的。 因此请确保用小写字母指定 MIME 类型。

    引入自:
    API 级别 1
    参阅:
    <action>
    <category>
  • 相关阅读:
    前端开发在手机UC浏览器上遇到的坑
    前端开发在uc浏览器上遇到的坑
    object-fit 解决图片指定大小被压缩问题
    前端新手需要注意的几个问题
    利用apache搭建本地环境
    有简历,为何还要自我介绍?
    移动端项目总结
    JavaScript MVC框架PK:Angular、Backbone、CanJS与Ember(转载)
    Net Core 控制台程序使用Nlog 输出到log文件
    net core服务器缺包,如何在线安装?
  • 原文地址:https://www.cnblogs.com/popapa/p/android_data-element.html
Copyright © 2020-2023  润新知