Google은 흑인 공동체를 위한 인종 간 평등을 진전시키기 위해 노력하고 있습니다. Google에서 어떤 노력을 하고 있는지 확인하세요.

<data>

구문
<data android:scheme="string"
          android:host="string"
          android:port="string"
          android:path="string"
          android:pathPattern="string"
          android:pathPrefix="string"
          android:mimeType="string" />
포함된 요소
<intent-filter>
설명
데이터 사양을 인텐트 필터에 추가합니다. 사양은 데이터 유형만(mimeType 속성) 사용하거나 URI만 사용하거나 데이터 유형과 URI를 모두 사용할 수 있습니다. URI는 사양의 부분별로 개별 속성으로 지정됩니다.

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

URL 형식을 지정하는 이러한 속성은 선택사항이지만 상호 의존적입니다.

  • 인텐트 필터의 scheme을 지정하지 않으면 다른 모든 URI 속성이 무시됩니다.
  • 필터의 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> 요소를 원하는 수만큼 배치하여 여러 데이터 옵션을 제공할 수 있습니다. 속성에 기본값은 없습니다.

인텐트 객체와 필터의 일치 방식에 적용되는 규칙을 포함하여 인텐트 필터가 작동하는 방식과 관련된 정보는 다른 문서인 인텐트 및 인텐트 필터에서 확인할 수 있습니다. manifest 파일 개요의 인텐트 필터 섹션도 참고하세요.

속성
android:scheme
URI의 스키마 부분입니다. URI를 지정하기 위한 최소한의 필수 속성입니다. 필터에 scheme 속성을 하나 이상 설정해야 하며, 그러지 않으면 다른 URI 속성이 의미가 없습니다.

스키마는 뒤에 콜론을 쓰지 않고 지정합니다. 예를 들어 http입니다(http: 아님).

필터에 데이터 유형(mimeType 속성)이 설정되어 있지만 스키마는 설정되어 있지 않다면 content: 스키마와 file: 스키마로 가정됩니다.

참고: Android 프레임워크의 스키마 일치는 RFC와 달리 대소문자를 구분합니다. 따라서 항상 소문자를 사용하여 스키마를 지정해야 합니다.

android:host
URI 권한의 호스트 부분입니다. 이 속성은 필터에 scheme 속성도 지정되어 있지 않으면 의미가 없습니다. 여러 하위 도메인을 일치시키려면 별표(*)를 사용하여 호스트에서 0개 이상의 문자를 찾습니다. 예를 들어 호스트 *.google.comwww.google.com, .google.com, developer.google.com과 일치합니다.

별표는 호스트 속성의 첫 문자여야 합니다. 예를 들어 호스트 google.co.*는 유효하지 않습니다. 별표 와일드 카드가 첫 문자가 아니기 때문입니다.

참고: Android 프레임워크의 호스트 이름 일치는 정식 RFC와 달리 대소문자를 구분합니다. 따라서 항상 소문자를 사용하여 호스트 이름을 지정해야 합니다.

android:port
URI 권한의 포트 부분입니다. 이 속성은 필터에 scheme 속성과 host 속성도 지정되어 있어야 의미가 있습니다.
android:path
android:pathPrefix
android:pathPattern
URI에서 슬래시(/)로 시작해야 하는 경로 부분입니다. path 속성은 인텐트 객체의 전체 경로와 일치하는 전체 경로를 지정합니다. pathPrefix 속성은 인텐트 객체의 경로 중 일부분만 일치하는 일부 경로를 지정합니다. pathPattern 속성은 인텐트 객체의 전체 경로와 일치하는 전체 경로를 지정하지만 다음 와일드 카드를 포함할 수 있습니다.
  • 별표('*')는 바로 앞에 나오는 문자가 0번 이상 발생하는 것을 나타내고
  • 마침표 뒤에 별표('.*')는 어떤 문자든 0번 이상 발생하는 것을 나타냅니다.

'\'는 XML에서 문자열이 읽힐 때 패턴으로 파싱되기 전에 이스케이프 문자로 사용되므로 두 번 이스케이프 처리해야 합니다. 예를 들어 '*'를 문자 그대로 사용하려면 '\\*'로, ''를 문자 그대로 사용하려면 '\\\\'로 써야 합니다. 이는 자바 코드로 문자열을 구성하는 경우 작성해야 하는 방식과 기본적으로 동일합니다.

이 3가지 유형의 패턴에 관해 자세히 알아보려면 PatternMatcher 클래스의 PATTERN_LITERAL, PATTERN_PREFIX, PATTERN_SIMPLE_GLOB 관련 설명을 참고하세요.

이 속성은 필터에 scheme 속성과 host 속성도 지정되어 있어야 의미가 있습니다.

android:mimeType
MIME 미디어 유형입니다(예: image/jpeg 또는 audio/mpeg4-generic). 하위유형은 모든 하위유형 일치를 나타내는 별표 와일드 카드(*)일 수 있습니다.

인텐트 필터는 일반적으로 android:mimeType 속성만 포함된 <data>를 선언합니다.

참고: Android 프레임워크의 MIME 유형 일치는 정식 RFC MIME 유형과 달리 대소문자를 구분합니다. 따라서 항상 소문자를 사용하여 MIME 유형을 지정해야 합니다.

도입 시기
API 레벨 1
참고 항목
<action>
<category>