Pengantar XML
XML singkatan dari eXtended Markup Language
adalah bahasa markup yang digunakan untuk menyimpan data (tidak ada program)
dan tidak tergantung dengan tools tertentu (seperti editor, dbms, compiler,
dsb).
XML merupakan suatu bahasa Markup. Markup
yaitu bahasa yang berisikan kode-kode berupa tanda-tanda tertentu dengan aturan
tertentu untuk memformat dokumen teks dengan tag sendiri agar dapat dimengerti.
Pada android XML digunakan untuk merancang interface pada sebuah
program yang akan dibuat.
Sejarah XML
XML didesain oleh sebuah kelompok kerja yang
terdiri dari 11 orang. Kelompok tersebut mendapat dukungan dari 150 orang di
luar kelompok tersebut. Pemimpin bidang teknis tim sebelas, James Clark,
menyumbangkan elemen empty “>”, dan nama XML itu sendiri. Nama-nama lain
yang sempat diusulkan antara lain MAGMA (Minimal Architecture for Generalized
Markup Applications), SLIM (Structured Language for Internet Markup), dan MGML
( Minimal Generalized Markup Language). Pada 10 Februari 1998, XML 1.0 direkomendasikan
secara resmi oleh W3C.XML 1.0 merupakan pencapaian tim sebelas dalam mendesain
markup language untuk tujuan penggunaan di Internet, yang serba guna, dan
kompetibel dengan SGML. Selain itu, XML 1.0 juga mendukung pengembangan
software yang memprosesnya, meminimalisasi fitur-fitur opsional, terbaca oleh
manusia, singkat, padat, dan mudah untuk ditulis.Sampai artikel ini ditulis,
telah dilakukan kali ketiga perbaikan minor pada XML 1.0 perbaikan kedua
menghasilkan XML 1.1, yang kini telah menjalani satu kali perbaikan. Pada 16
Agustus 2006 yang lalu, XML 1.0 Fourth Edition, dan XML 1.1 Second Edition
dipublikasikan. Keduanya dianggap sebagai versi terakhir XML yang ada sekarang.
Kegunaan XML
XML didesain sebagai solusi
interoperabilitas antar software dari platform yang berbeda. Misalnya software
A berjalan diatas platform Java, ingin berbagi informasi dengan software yang
berjalan di atas platform .NET. software A akan membaca request dari software B
dalam format XML.Atau bisa jadi software A menyediakan informasi yang sudah
dikemas dalam fomat XML, yang dapat dimanfaatkan oleh software B, C, D, dan
seterusnya. Untuk mengakses informasi dalam format XML ini, digunakan tool yang
bersifat web service. Contoh yang paling sederhana dari interoprabilitas
menggunakan XML ini adalah RSS feed dan
aggregator. Saat ini banyak website berita dan blog yang menyediakan informasi
yang dikemas dalam format XML, atau dikenal dengan nama RSS feed. Website lain
atau aplikasi desktop yang disebut dengan aggregator dapat memanfaatkan
informasi ini melalui web service, yakni HTTP, untuk membaca file XML, dan
menampilkannya. XML merupakan markup language. Namun, berbeda dengan HTML yang
memerintahkan web browser bagaimana menampilkan informasi, XML menandai
informasi secara terstruktur sehingga memudahkan aplikasi lain mengekstrak, dan
menggunakannya.Seperti halnya HTML, XML juga menggunakan tag-tag. Jika tag-tag
pada HTML bersifat baku, tag-tag XML dapat dibuat sendiri, sesuai dengan
kebutuhan. Untuk memudahkan aplikasi membaca tag-tag apa saja yang memuat
informasi serta struktur hirarkinnya, XML 1.0 dilengkapi dengan DTD ( Document
Type Definition) yang terletak pada bagian header file. Untuk menutup
kekurangan pada DTD, XML 1.1 mengganti DTD dengan XSD (XML Schema Definition)
yang lebih powerful dalam menggambarkan struktur file XML.
Struktur
Dokumen XML
Struktur penulisan kode XML, terdiri dari beberapa
bagian:
- Deklarasi: Adalah bagian penting dalam XML, biasanya digunakan untuk menentukan versi XML yang akan digunakan.
<?xml
version="1.0"?>
- Elemen: berisi tag-tag yang mendefinisikan sebuah data objek.
- Atribut: berisi keterangan tambahan dari objek.
Pada XML, kita bebas membuat nama tag dan setiap
tag harus ditutup meskipun tidak memiliki isi.
Contoh:
<?xml
version="1.0"?>
<belajar
materi="Pengenalan XML untuk Pemula" pengajar="Petani
Kode"></belajar>
<aku
nama="petani kode" pekerjaan="petani"
hobi="coding" />
Data
Elemen Objek dan Array di XML
Objek adalah jenis data yang menyimpan properti dan
method. Pada XML, kita tidak bisa menyimpan method.
Karena itu, objek dalam XML adalah elemen yang
hanya menyimpan properti saja.
Contoh Objek:
<mahasiswa
nama="Dian" nim="12345678" semester="IV" />
Array adalah jenis data yang berisi kumpulan dari
beberapa data. Array biasanya memiliki indeks untuk mengakses data di dalamnya.
Array pada XML dapat kita buat dengan cara membuat
elemn dengan nama yang sama.
Contoh:
<members>
<user>Dian</user>
<user>Doni</user>
<user>Desi</user>
<user>Dani</user>
</members>
atau bisa juga seperti ini:
<members>
<user id="1"
name="Dian" />
<user id="2"
name="Doni" />
<user id="3"
name="Desi" />
<user id="4"
name="Dani" />
</members>
XML pada Android
Dengan menggunakan kosakata XML Android, Anda bisa
mendesain secara cepat layout UI dan elemen layar yang dimuatnya, sama dengan
cara membuat laman web dalam HTML — dengan serangkaian elemen tersarang.
Tiap file layout harus berisi persis satu elemen akar, yang
harus berupa sebuah objek View atau ViewGroup. Setelah mendefinisikan elemen
akar, Anda bisa menambahkan objek atau widget layout tambahan sebagai elemen
anak untuk membangun hierarki View yang mendefinisikan layout Anda secara
bertahap. Misalnya, inilah layout XML yang menggunakan
LinearLayout
vertikal untuk menyimpan TextView
dan Button
:<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <TextView android:id="@+id/text" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, I am a TextView" /> <Button android:id="@+id/button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Hello, I am a Button" /> </LinearLayout>
Setelah Anda mendeklarasikan layout dalam
XML, simpan file dengan ekstensi
.xml
, dalam direktori res/layout/
project Android, sehingga nanti bisa dikompilasi dengan benar.
Informasi selengkapnya tentang sintaks untuk file XML
layout tersedia dalam dokumen Sumber
Daya Layout.
Muat Sumber Daya XML
Saat mengompilasi aplikasi, masing-masing file layout XML
akan dikompilasi dalam sumber daya
View
. Anda harus memuat sumber daya layout dari kode aplikasi Anda, pada
implementasi callback Activity.onCreate()
. Lakukan hal tersebut dengan memanggil setContentView()
, memberikannya referensi ke sumber daya layout dalam bentuk: R.layout.
layout_file_name. Misalnya, jika layout XML disimpan sebagai main_layout.xml
, Anda akan memuatnya untuk Aktivitas Anda seperti:fun onCreate(savedInstanceState: Bundle) {
super.onCreate(savedInstanceState)
setContentView(R.layout.main_layout)
}
Metode
callback
onCreate()
dalam Aktivitas dipanggil oleh framework Android saat Aktivitas
Anda dijalankan (lihat diskusi tentang daur hidup, dalam dokumen Aktivitas).Atribut
Setiap objek Tampilan dan ViewGroup mendukung ragam atribut
XML miliknya sendiri. Beberapa atribut bersifat khusus untuk objek Tampilan
(misalnya, TextView mendukung atribut
textSize
), tetapi
atribut ini juga diwarisi oleh objek Tampilan apa pun yang dapat memperluas
kelas ini. Sebagian bersifat umum untuk semua objek Tampilan, karena diwarisi
dari kelas Tampilan root (seperti atribut id
). Dan, atribut lain
dianggap sebagai "parameter layout" yaitu atribut yang menjelaskan
orientasi layout tertentu dari objek Tampilan, seperti yang didefinisikan oleh
objek ViewGroup induk dari objek itu.ID
Setiap objek Tampilan mungkin memiliki ID integer yang
terhubung dengannya, untuk mengidentifikasi tampilan secara unik di dalam
struktur pohon. Saat aplikasi dikompilasi, ID ini dirujuk sebagai integer,
tetapi ID-nya biasanya ditetapkan dalam file XML layout sebagai string, pada
atribut
id
. Ini adalah atribut XML yang umum untuk semua objek Tampilan
(didefinisikan oleh kelas View
) dan Anda akan sering menggunakannya. Sintaks untuk ID, di dalam
tag XML adalah:android:id="@+id/my_button"
Simbol-at (@) pada awal string menunjukkan
parser XML harus mengurai dan memperluas ID string selebihnya dan mengenalinya
sebagai ID sumber daya. Simbol tanda tambah (+) berarti ini nama sumber daya
baru yang harus dibuat dan ditambahkan ke sumber daya kita (dalam file
R.java
). Ada
sejumlah sumber daya ID lain yang ditawarkan oleh framework Android. Saat
merujuk pada sebuah ID sumber daya Android, Anda tidak memerlukan simbol tanda
tambah, tetapi harus menambahkan namespace paket android
, sehingga:android:id="@android:id/empty"
Dengan namespace paket
android
yang
tersedia, kita sekarang merujuk pada ID dari kelas sumber daya android.R
,
daripada kelas sumber daya lokal.
Untuk membuat tampilan dan merujuknya dari aplikasi, pola
yang umum adalah:
- Mendefinisikan tampilan/widget dalam file layout dan memberinya ID unik:
<Button android:id="@+id/my_button" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/my_button_text"/>
Kemudian buat instance objek
tampilan dan tangkap instance tersebut dari layout (biasanya dalam metode
onCreate()
): val myButton: Button = findViewById(R.id.my_button)
Menentukan ID untuk objek tampilan sifatnya penting saat
membuat
RelativeLayout
. Dalam layout relatif, tampilan saudara bisa mendefinisikan layout
secara relatif terhadap tampilan saudara lainnya, yang dirujuk melalui ID unik.
ID tidak perlu unik di seluruh pohon, namun harus unik di
bagian pohon yang Anda cari (yang mungkin sering kali seluruh pohon, jadi lebih
baik benar-benar unik jika memungkinkan).
Parameter Layout
Atribut layout XML bernama
layout_
something mendefinisikan parameter layout Tampilan yang cocok untuk ViewGroup
tempatnya berada.
Setiap kelas ViewGroup mengimplementasikan kelas bertumpuk
yang memperluas
ViewGroup.LayoutParams
. Subkelas ini berisi tipe properti yang mendefinisikan ukuran dan
posisi masing-masing tampilan anak, sebagaimana mestinya untuk grup tampilan.
Seperti yang bisa Anda lihat dalam gambar 2, grup tampilan induk mendefinisikan
parameter layout untuk masing-masing tampilan anak (termasuk grup tampilan
anak).
Gambar 2. Visualisasi hierarki tampilan
dengan parameter layout yang dikaitkan dengan setiap tampilan.
Semua grup tampilan berisi lebar dan tinggi (
layout_width
dan layout_height
), dan masing-masing tampilan harus mendefinisikannya. Banyak
LayoutParams yang juga menyertakan margin dan border opsional. Anda bisa menetapkan lebar dan tinggi dengan ukuran persis, meskipun Anda mungkin tidak ingin sering-sering melakukannya. Seringnya, Anda akan menggunakan salah satu konstanta ini untuk mengatur lebar atau tinggi:
- wrap_content memberi tahu tampilan Anda agar menyesuaikan sendiri ukurannya dengan dimensi yang dibutuhkan oleh kontennya.
- match_parent memberi tahu tampilan Anda agar menjadi sebesar yang akan diperbolehkan oleh kelompok tampilan induknya.
Sumber
:
https://noviaasrumiati.wordpress.com/2013/06/06/pengertian-xml/
https://developer.android.com/guide/topics/ui/declaring-layout?hl=id
0 Komentar