Mengapa baris ini diperlukan dalam file layout xml?
xmlns:android="http://schemas.android.com/apk/res/android"
Mengapa baris ini diperlukan dalam file layout xml?
xmlns:android="http://schemas.android.com/apk/res/android"
Jawaban:
Dalam XML, xmlns mendeklarasikan Namespace. Bahkan, ketika Anda melakukannya:
<LinearLayout android:id>
</LinearLayout>
Alih-alih memanggil android:id
, xml akan menggunakan http://schemas.android.com/apk/res/android:id untuk menjadi unik. Secara umum halaman ini tidak ada (itu adalah URI, bukan URL), tetapi terkadang itu adalah URL yang menjelaskan namespace yang digunakan.
Namespace memiliki kegunaan yang hampir sama dengan nama paket dalam aplikasi Java.
Berikut ini penjelasannya.
Uniform Resource Identifier (URI)
Uniform Resource Identifier (URI) adalah serangkaian karakter yang mengidentifikasi Sumber Daya Internet.
URI yang paling umum adalah Uniform Resource Locator (URL) yang mengidentifikasi alamat domain Internet. Jenis lain, yang tidak terlalu umum dari URI adalah Nama Sumber Daya Universal (URN).
Dalam contoh kami, kami hanya akan menggunakan URL.
android:layout_width
bukan hanya layout_width
?
Untuk memahami mengapa xmlns:android=“http://schemas.android.com/apk/res/android”
harus menjadi yang pertama dalam tata letak file xml. Kita harus memahami komponen menggunakan contoh
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>
Uniform Resource Indicator (URI) :
Mis: http://schemas.android.com/apk/res/android:id
apakah URI di sini
xmlns:android
menggambarkan namespace android.textview
widget dengan fitur berbeda dibandingkan dengan android textview
, android namespace membantu membedakan antara textview
widget khusus kita dan textview
widget android
xmlns merujuk ke namespace XML
Saat menggunakan awalan dalam XML, ruang nama yang disebut untuk awalan harus ditentukan. Namespace ditentukan oleh atribut xmlns di tag awal elemen. Deklarasi namespace memiliki sintaks berikut. xmlns: prefix = "URI".
Catatan : URI namespace tidak digunakan oleh parser untuk mencari informasi.
Tujuannya adalah untuk memberikan namespace nama yang unik. Namun, seringkali perusahaan menggunakan namespace sebagai penunjuk ke halaman web yang berisi informasi namespace.
Ini hanya deklarasi Ruang Nama XML. Kami menggunakan Ruang Nama ini untuk menentukan bahwa atribut yang tercantum di bawah, milik Android. Jadi mereka mulai dengan " android: "
Anda sebenarnya dapat membuat atribut khusus Anda sendiri. Jadi untuk mencegah konflik nama di mana 2 atribut dinamai hal yang sama, tetapi berperilaku berbeda, kami menambahkan awalan " android: " untuk menandakan bahwa ini adalah atribut Android.
Dengan demikian, deklarasi Space Name ini harus dimasukkan dalam tag pembuka dari tampilan root file XML Anda.
xmlns: android Menentukan ruang nama Android. Atribut ini harus selalu disetel ke "http://schemas.android.com/apk/res/android".
lihat http://developer.android.com/guide/topics/manifest/manifest-element.html
Untuk memasukkan istilah awam:
tanpa xmlns: android = ” http://schemas.android.com/apk/res/android ” tag terkait android tidak akan dikenali dalam dokumen xml tata letak kami.
Dalam XML, nama elemen ditentukan oleh pengembang. Ini sering mengakibatkan konflik ketika mencoba untuk menggabungkan dokumen XML dari aplikasi XML yang berbeda. Pengguna atau aplikasi XML tidak akan tahu bagaimana menangani perbedaan-perbedaan ini. Konflik nama dalam XML dapat dengan mudah dihindari menggunakan awalan nama. Saat menggunakan awalan dalam XML, namespace untuk awalan harus ditentukan. Namespace dapat didefinisikan oleh atribut xmlns di tag awal elemen. Deklarasi namespace memiliki sintaks berikut. xmlns: prefix = "URI".
xmlns:android="http://schemas.android.com/apk/res/android"
Ini adalah bentuk xmlns: android = "@ + / id". Sekarang untuk merujuknya kita gunakan misalnya
android:layout_width="wrap_content"
android:text="Hello World!"
Xmlns lain adalah
xmlns:app="http://schemas.android.com/apk/res-auto"
yang dalam bentuk xmlns: app = "@ + / id" dan penggunaannya diberikan di bawah ini
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
xmlns: android Ini adalah tag awal untuk menentukan namespace android di Android. Ini adalah konvensi standar yang ditentukan oleh pengembang google android. ketika Anda menggunakan dan tata letak default atau custome, maka harus menggunakan namespace ini.
Menentukan ruang nama Android. Atribut ini harus selalu disetel ke " http://schemas.android.com/apk/res/android ".
Dari <manifes>
dokumentasi elemen .
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns : adalah ruang nama xml dan URL: " http://schemas.android.com/apk/res/android " tidak lain adalah
XSD yang merupakan [definisi skema XML]: yang digunakan menentukan aturan untuk file XML.
Contoh:
<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>
Biarkan saya jelaskan Aturan Seperti Apa? .
Jenis Aturan semacam itu didefinisikan dalam XML XSD: " http://schemas.android.com/apk/res/android "
sedikit terlambat tapi saya harap ini membantu Anda.
Ini adalah deklarasi ruang nama XML untuk menentukan bahwa atribut yang ada dalam grup tampilan yang mengalami perlambatan terkait dengan android.