Membuat aplikasi pembaca RSS sederhana di Android

Kali ini kita akan membuat aplikasi pembaca RSS sederhana, tutorial ini sebenarnya adalah hasil percobaan saya dari artikel androidresearch.wordpress.com.

Tentang aplikasi

– Aplikasi ini akan menampilkan judul artikel dalam listView
– Ketika salah satu judul di pilih, secara otomatis akan membuka browser di Android dan menampilkan artikel di halaman aslinya.

Tangkapan Layar

pembaca-rss-arifnd.wordpress.com

Langkah 1: Membuat proyek android baru
Project Name: pembacaRSS
Activity Name: MainActivity
Layout Name: main
Title: Pembaca RSS(opsional)

Langkah 2: Memberikan hak mengakses internet pada aplikasi kita
Agar aplikasi yang kita buat dapat menggunakan akses internet. maka pada file AndroidManifest.xml sebelum tag <aplication perlu ditambahkan kode

 <uses-permission android:name="android.permission.INTERNET"/>

Langkah 3: Membuat listView
Pada file res/layout/main.xml timpa isinya dengan kode di bawah ini

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

    <ListView
        android:id="@+android:id/list"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content" >
    </ListView>
</LinearLayout>

Langkah 4: Memanggil class yang dibutuhkan
Pada file MainActivity.java dibawah kode package timpa semua kode yang diawali dengan tulisan import dengan kode di bawah ini

import java.io.IOException;
import java.io.InputStream;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.ArrayList;
import java.util.List;

import org.xmlpull.v1.XmlPullParser;
import org.xmlpull.v1.XmlPullParserException;
import org.xmlpull.v1.XmlPullParserFactory;

import android.net.Uri;
import android.os.Bundle;
import android.app.ListActivity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;

Langkah 5: Mengubah jenis Activity dan mendaftarkan variabel
sesuaikan kode public class anda seperti di bawah ini

public class MainActivity extends ListActivity {

	// mendaftarkan variabel judul dan tautan
	List judul;
	List tautan;

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
    }
}

Langkah 6: Menuliskan kode utama untuk mem-parsing file xml
di bawah kode setContentView(R.layout.main) tambahkan:

		judul = new ArrayList();
		tautan = new ArrayList();

		try {
			// tentukan alamat file xml atau rss
			URL url = new URL("http://serambi.blankonlinux.or.id/rss20.xml");

			XmlPullParserFactory factory = XmlPullParserFactory.newInstance();
			factory.setNamespaceAware(false);
			XmlPullParser xpp = factory.newPullParser();

			// mendapatkan berkas XML dari variabel url
			xpp.setInput(getInputStream(url), "UTF_8");

			boolean insideItem = false;

			// Returns the type of current event: START_TAG, END_TAG, etc..
			int eventType = xpp.getEventType();
			while (eventType != XmlPullParser.END_DOCUMENT) {
				if (eventType == XmlPullParser.START_TAG) {

					if (xpp.getName().equalsIgnoreCase("item")) {
						insideItem = true;
					} else if (xpp.getName().equalsIgnoreCase("title")) {
						if (insideItem)
							judul.add(xpp.nextText()); // mengambil tag <title> dari berkas xml
					} else if (xpp.getName().equalsIgnoreCase("link")) {
						if (insideItem)
							tautan.add(xpp.nextText()); // mengambil tag <link> dari berkas xml
					}
				} else if (eventType == XmlPullParser.END_TAG
						&& xpp.getName().equalsIgnoreCase("item")) {
					insideItem = false;
				}

				eventType = xpp.next(); // menuju berita selanjutnya
			}

		} catch (MalformedURLException e) {
			e.printStackTrace();
		} catch (XmlPullParserException e) {
			e.printStackTrace();
		} catch (IOException e) {
			e.printStackTrace();
		}

		// menyisipkan data ke dalam adapter
		ArrayAdapter adapter = new ArrayAdapter(this,
				android.R.layout.simple_list_item_1, judul);

		// menampilkan adapter ke dalam listView
		setListAdapter(adapter);

Langkah 7: membuat fungsi getInputStream
fungsi getInputStream adalah mendapatkan hasil keluaran dari berkas xml yang di akses

	public InputStream getInputStream(URL url) {
		try {
			return url.openConnection().getInputStream();
		} catch (IOException e) {
			return null;
		}
	}

Jika semua telah selesai, silahkan jalankan aplikasi anda di emulator atau handphone Anda

Anda juga dapat mengunduh kode dari aplikasi di sini

2 thoughts on “Membuat aplikasi pembaca RSS sederhana di Android

  1. Ping-balik: Referensi Develope Android Apps : RSS Feed | ApaSaja

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s