Pemrograman Mobile 2
Pengenalan XML Parsing
TI 16 A
OLEH KELOMPOK 2
Nama Anggota :
Alfiansyah Arifudin A (16.11.0049)
Hendra Budi Santosa (16.11.0050)
Nurokta Fauzy Saputra (16.11.0052)
Saputra Hendarto (16.11.0059)
Rizky Maida Kartika (16.11.0062)
Galang Dewa Nuansa (16.11.0066)
Ricci Dian Firmansyah (16.11.0067)
Muhammad Reza (16.11.0069)
Rayhan Shaquelle (16.11.0090)
Argian Wibiyantoro (16.11.0095)
Mohamad Riza F. (16.11.0108)
Materi Pertemuan 3 :
Pemahaman XML Data Parsing
XML – Elements
XML – Parsing
Jenis-jenis XML Parsing Data
Pengertian XML
Extensible Markup Language (XML) adalah sebuah markup language yang mempunyai himpunan aturan untuk pengkodean dokumen dalam format yang dimengerti oleh manusia dan mesin.
Tujuan perancangan dari XML menekankan pada kesederhanaan, keumuman, dan kegunaan melalui Internet. XML adalah format data tekstual dengan dukungan yang kuat melalui Unicode untuk bahasa-bahasa diseluruh dunia. Meskipun desain dari XML memfokuskan pada dokumen, yang digunakan secara luas untuk representasi struktur data yang bebas, sebagai contoh pada web services.
Elements XML
- Atribut
- Setiap objek View dan ViewGroup mendukung variasi atribut XML-nya sendiri.
- Sebagian atribut bersifat spesifik untuk objek View (misalnya, TextView mendukung atribut textSize ), namun atribut ini juga diwarisi oleh sembarang objek View yang dapat memperluas kelas ini.
- Sebagian atribut bersifat umum untuk semua objek View, karena diwarisi dari kelas View akar (seperti atribut id).
- Atribut lain dianggap sebagai “parameter layout” yaitu atribut yang menjelaskan orientasi layout tertentu dari objek View, seperti yang didefinisikan oleh objek ViewGroup induk dari objek itu.
2. ID
Objek View apa saja dapat memiliki ID integer yang dikaitkan dengannya, untuk mengidentifikasi secara unik View dalam pohon. Bila aplikasi dikompilasi, ID ini akan diacu sebagai integer, namun ID biasanya ditetapkan dalam file XML layout sebagai string, dalam atribut id. Ini atribut XML yang umum untuk semua objek View (yang didefinisikan oleh kelas View) dan Anda akan sering sekali menggunakannya. Sintaks untuk ID 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 kerangka kerja Android. Saat mengacu sebuah ID sumber daya Android, Anda tidak memerlukan simbol tanda tambah, namun harus menambahkan namespace paket android, sehingga:
android:id=”@android:id/empty”
- Parameter Layout
Atribut layout XML bernama layout_something mendefinisikan parameter layout View yang cocok untuk ViewGroup tempatnya berada.
Setiap kelas ViewGroup mengimplementasikan kelas tersarang yang memperluas ViewGroup.LayoutParams.
Subkelas ini berisi tipe properti yang mendefinisikan ukuran dan posisi masing-masing tampilan anak, sebagaimana mestinya untuk grup 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.
Lebih sering, 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 materinya.
match_parent memberi tahu tampilan Anda agar menjadi sebesar yang akan diperbolehkan oleh kelompok tampilan induknya.
XML Parsing
- Memilih parser
Sebaiknya XmlPullParser, yang merupakan cara yang efisien dan maintainable mem-parsing XML di Android. Secara historis Android memiliki dua penerapan antarmuka ini:
- KXmlParservia newPullParser().
- ExpatPullParser, via newPullParser()
- Instantiate parser
Langkah berikutnya adalah untuk instantiate parser dan memulai proses parsing. Dalam potongan ini, parser diinisialisasi tidak memproses namespaces, dan menggunakan InputStream disediakan sebagai input. Ini mulai proses parsing dengan panggilan untuk nextTag() dan memanggil metode readFeed(), yang ekstrak dan memproses data app tertarik pada:
- Membaca feed
Metode readFeed() melakukan pekerjaan yang sebenarnya pengolahan feed. Kelihatannya untuk elemen tagged “entry” sebagai titik awal untuk secara rekursif pengolahan feed. Jika tag tidak sebuah entri tag, itu melompat itu. Setelah seluruh feed telah diproses secara rekursif, readFeed() kembali daftar berisi entri (termasuk data bersarang anggota) diekstrak dari feed. Daftar ini kemudian dikembalikan oleh parser.
- Mengurai XML
Langkah-langkah untuk parsing XML feed adalah sebagai berikut:
Seperti yang dijelaskan dalam menganalisis feed, mengidentifikasi tag yang ingin disertakan dalam aplikasi
Membuat metode berikut:
- “Read” metode untuk setiap tag yang Anda tertarik. Sebagai contoh, readEntry(), readTitle(), dan seterusnya. Parser membaca tag dari input stream. Ketika ia menemukan sebuah tag yang bernama entri, judul, link atau ringkasan, itu panggilan metode yang tepat untuk tag tersebut. Jika tidak, itu melompat tag.
- Metode untuk mengekstrak data untuk setiap jenis tag yang berbeda dan untuk memajukan parser ke tag berikutnya. Sebagai contoh:
- Untuk tag judul dan ringkasan, parser panggilan readText(). Metode ini ekstrak data untuk tag ini dengan memanggil parser.getText().
- Untuk link tag, parser ekstrak data untuk link dengan terlebih dahulu menentukan jika link yang ia tertarik. Kemudian menggunakan parser.getAttributeValue() untuk mengekstrak link nilai.
- Untuk tag entri, parser panggilan readEntry(). Metode ini mem-parsing entri bersarang tag dan kembali sebuah objek entri dengan data anggota judul, link, dan ringkasan.
- Penolong skip() metode yang rekursif.
Jenis – Jenis XML
XML adalah singkatan dari Extensible Mark-up Language. File XML biasanya diurai di android untuk mengambil informasi yang relevan dari mereka. Ada tiga jenis parser XML android yang bisa kita gunakan :
- SAX Parsers
- Parser DOM
- XMLPullParser
Penjelasan
- SAX Parsers
SAX mirip dengan DOM dalam konteks yang dimulai dari parsing dari atas ke bawah dan tidak ada cara untuk mengurai hanya node tertentu.
- Parser DOM
Menggunakan pendekatan berbasis objek di mana seluruh xml dimuat ke dalam memori dan divalidasi. Kemudian mulai mem-parsing dokumen xml. Ini mem-parsing dari node awal ke node akhir. Node tertentu tidak dapat diuraikan. Secara keseluruhan lebih lambat daripada dua lainnya.
- XML Pull Parser
XMLPullParser: Ini menggunakan pendekatan berbasis objek dan serupa dalam hal memori dan kinerja. SAX mirip dengan DOM dalam konteks yang dimulai dari parsing dari atas ke bawah dan tidak ada cara untuk mengurai hanya node tertentu. Sebaliknya, XMLPullParser dapat mem-parsing node tertentu.
CONTOH PROJEK
- SAXPARSE
- DOMPARSE
- XML PULLPARSE
Referensi :
https://developer.android.com/training/basics/network-ops/xml#java
https://ibnusan.wordpress.com/tag/xml-parser/
http://isalmoro.blogspot.com/2012/12/pengertian-dan-pengenalan-xml.html
https://www.journaldev.com/10653/android-xml-parser-xmlpullparser
https://www.tutlane.com/tutorial/android/android-xml-parsing-using-dom-parser
DOWNLOAD PPT : RPS 3
Download Program :https://drive.google.com/open?id=1MmTEJaagyBVIvL3ARbuvxDu5K5xOqKRO