programing

이 xmlns:layout xml 파일에서 이 행이 첫 번째여야 하는 이유는 무엇입니까?

codeshow 2023. 9. 14. 23:41
반응형

이 xmlns:layout xml 파일에서 이 행이 첫 번째여야 하는 이유는 무엇입니까?

xml 레이아웃 파일에 이 줄이 필요한 이유는 무엇입니까?

xmlns:android="http://schemas.android.com/apk/res/android" 

XML에서 xmlns는 네임스페이스를 선언합니다.실제로, 당신이 할 때:

<LinearLayout android:id>
</LinearLayout>

를 부르는 대신 android:id, xml은 http://schemas.android.com/apk/res/android:id 을 사용하여 고유합니다.일반적으로 이 페이지는 존재하지 않지만(URL이 아닌 URI입니다) 사용된 네임스페이스를 설명하는 URL인 경우도 있습니다.

네임스페이스의 용도는 Java 애플리케이션의 패키지 이름과 거의 같습니다.

여기 설명이 있습니다.

IMT2000 3GPP - URI (Uniform Resource Identifier)

URI(Uniform Resource Identifier)는 인터넷 리소스를 식별하는 일련의 문자입니다.

가장 일반적인 URI는 인터넷 도메인 주소를 식별하는 URL(Uniform Resource Locator)입니다.일반적이지 않은 또 다른 URI 유형은 URN(Universal Resource Name)입니다.

예제에서는 URL만 사용합니다.

그 이유를 이해하기 위해서는xmlns:android=“http://schemas.android.com/apk/res/android”. layout xml서야다n여야를 사용하여 요소를 . 우리는 예제를 사용하여 구성요소를 이해할 것입니다.

Sample::

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:id="@+id/container" >    
</FrameLayout>

URI(Uniform Resource Indicator):

  • 컴퓨터에서 통일된 자원 식별자(uniform resource identifier, URI)는 자원의 이름을 식별하는 데 사용되는 일련의 문자입니다.
  • 이러한 식별은 특정 프로토콜을 사용하여 네트워크, 일반적으로 월드 와이드 웹(World Wide Web)을 통한 자원 표현과의 상호작용을 가능하게 합니다.

예:http://schemas.android.com/apk/res/android:id에 URI가 있습니까?


XML 네임스페이스:

  • XML 네임스페이스는 XML 문서에서 고유하게 명명된 요소와 속성을 제공하는 데 사용됩니다.xmlns:android안드로이드 네임스페이스에 대해 설명합니다.
  • 이것은 구글이 컴파일 시 오류를 처리하기 위해 선택한 디자인이기 때문에 이렇게 사용됩니다.
  • 또한 우리가 우리 자신의 것을 쓴다고 가정합니다.textview을 가진 위젯른을젯진젯진ht을와tod른textview 정의인 Android 는 를 하는 이 이 는 textview 및 과드드과tdtextview

xmlns는 XML 네임스페이스를 나타냅니다.

XML에서 접두사를 사용하는 경우 접두사에 대한 소위 네임스페이스를 정의해야 합니다.네임스페이스는 요소의 시작 태그에 있는 xmlns 특성으로 정의됩니다.네임스페이스 선언에는 다음과 같은 구문이 있습니다.xmlns:prefix="URI".

참고: 네임스페이스 URI는 파서에서 정보를 조회하는 데 사용되지 않습니다.

네임스페이스에 고유한 이름을 부여하는 것이 목적입니다.그러나 종종 기업들은 네임스페이스 정보를 포함하는 웹 페이지에 대한 포인터로 네임스페이스를 사용합니다.

이것은 XML Name Space 선언일 뿐입니다.아래에 나열된 속성이 Android에 속함을 지정하기 위해 이 Name Space를 사용합니다.그래서 그들은 "안드로이드:"로 시작합니다.

실제로 자신만의 사용자 지정 특성을 만들 수 있습니다.따라서 두 특성의 이름이 동일하지만 다르게 동작하는 이름 충돌을 방지하기 위해 접두사 "android:"를 추가하여 안드로이드 특성임을 나타냅니다.

따라서 이 Name Space 선언은 XML 파일의 root view의 여는 태그에 포함되어야 합니다.

  • xmlns는 xml 네임스페이스를 의미합니다.
  • 이것은 xml의 이름 충돌을 피하기 위해 만들어집니다.
  • 다른 방법으로 명명 충돌을 방지하려면 각 요소에 접두사를 지정해야 합니다.
  • 각 xml 태그에서 접두사가 반복적으로 사용되는 것을 방지하기 위해 xml의 루트에 xmlns를 사용합니다.따라서 xmlns:tag="http://schemas.android.com/apk/res/android "라는 태그가 있습니다.
  • 여기서 Android는 단순히 네임스페이스 "http://schemas.android.com/apk/res/android "을 할당한다는 것을 의미합니다.
  • 이 네임스페이스는 URL이 아니라 URI 대신 거의 사용되지 않는 URN(universal resource name)이라고도 하는 URI입니다.
  • 이 안드로이드 때문에 xml 문서에서 안드로이드 관련 요소를 식별할 수 있습니다. 안드로이드:xxxxxxx 등입니다.이 네임스페이스가 없으면 Android:xxxxxxxxx가 인식되지 않습니다.

일반인의 임기를 입력하는 방법:

xmlns가 없으면:http="http://schemas.android.com/apk/res/android " 안드로이드 관련 태그는 우리 레이아웃의 xml 문서에서 인식되지 않습니다.

xmlns:android

Android 네임스페이스를 정의합니다. 이은상로야다야다"로상""로 .http://schemas.android.com/apk/res/android".

https://developer.android.com/guide/topics/manifest/manifest-element#nspace 참조

XML에서 요소 이름은 개발자가 정의합니다.다른 XML 응용프로그램에서 XML 문서를 혼합하려고 할 때 충돌이 발생하는 경우가 많습니다.사용자나 XML 응용프로그램은 이러한 차이를 처리하는 방법을 알지 못합니다.XML의 이름 충돌은 이름 접두사를 사용하여 쉽게 피할 수 있습니다.XML에서 접두사를 사용할 경우 접두사의 네임스페이스를 정의해야 합니다.네임스페이스는 요소의 시작 태그에 있는 xmlns 특성으로 정의할 수 있습니다.네임스페이스 선언에는 다음과 같은 구문이 있습니다.xmlns:prefix="URI".

xmlns:android="http://schemas.android.com/apk/res/android"

이것은 xmlns의 형식입니다. android = "@+/id.이제 우리가 예를 들어 사용하는 것을 참조해 보겠습니다.

android:layout_width="wrap_content"
android:text="Hello World!"

다른 xmlns는

 xmlns:app="http://schemas.android.com/apk/res-auto"

이것은 xmlns:app = "@+/id"의 형태이며, 그 용도는 아래와 같습니다.

 app:layout_constraintBottom_toBottomOf="parent"
 app:layout_constraintLeft_toLeftOf="parent"

네임스페이스를 사용하면 고유한 속성을 만들 수 있고 사용자가 지정한 속성이 Android 속성과 동일한 경우 네임스페이스의 충돌을 피할 수 있기 때문에 명확하다고 생각합니다.

xmlns:androidAndroid에서 정의된 Android 네임스페이스를 위한 시작 태그입니다.이것은 안드로이드 구글 개발자가 정의한 표준 규약입니다.사용 및 레이아웃 기본값 또는 사용자 지정인 경우 이 네임스페이스를 사용해야 합니다.

Android 네임스페이스를 정의합니다.이 특성은 항상 "으로 설정해야 합니다.http://schemas.android.com/apk/res/android".

요소 설명서에서.

xmlns:android="http://schemas.android.com/apk/res/android" 

xmlns : 는 xml 이름 공간이고 URL : "http://schemas.android.com/apk/res/android " 은 다음과 같습니다.

[XML 스키마 정의]인 XSD : XML 파일에 대한 규칙을 정의하는 데 사용됩니다.

예:

<LinearLayout 
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical" 
android:layout_width="match_parent"
android:layout_height="match_parent">

<EditText
   android:layout_width="match_parent"
   android:layout_height="wrap_content"
   android:layout_marginBottom="4dp"
   android:hint="User Name"
  />
</LinearLayout> 

어떤 종류의 규칙을 설명해 드리겠습니다.

  1. 위 XML 파일에서 우리는 레이아웃에 대해 layout_width를 이미 정의했습니다. 만약 당신이 두 번째로 같은 속성을 정의한다면 당신은 오류를 얻게 될 것입니다.
  2. EditText가 있지만 다른 EditText를 추가하려면 문제가 없습니다.

이러한 종류의 규칙은 XML XSD에 정의되어 있습니다. "http://schemas.android.com/apk/res/android "

조금 늦었지만 도움이 되었으면 좋겠습니다.

아래의 중요한 점은 위의 답변에서 빠져 있습니다.

xmlns:lot="http://schemas.android.com/apk/res/android "을 xml 파일의 루트에 선언하면 이 네임스페이스에 이미 연결되어 있는 모든 특성과 태그를 가져옵니다.

다음에 안드로이드를 입력하면 자동 완성 목록이 나타납니다.

이것은 감속되는 뷰 그룹 내의 속성이 Android와 관련된 것임을 지정하기 위한 XML 네임스페이스 선언입니다.

언급URL : https://stackoverflow.com/questions/7119359/why-this-line-xmlnsandroid-http-schemas-android-com-apk-res-android-must-be

반응형