RSS Reader dengan Android Penulis : Agus Haryanto

dokumen-dokumen yang mirip
UNIVERSITAS KOMPUTER INDONESIA

Tutorial Membuat Aplikasi Web View Android pada Eclipse

Membuat preferensi atau pengaturan pada aplikasi android

TUTORIAL PEMBUATAN APLIKASI SEDERHANA TOUCH AND GESTURE PADA ANDROID

Penggunaan Button di Android

Membuat Spash Screen

Cara Membuat Background Dinamis di Android

UNIVERSITAS KOMPUTER INDONESIA

Praktikum VI Activity dan Intent

Praktikum IV Komponen UI (Radio Button, CheckBox dll)

PAPB-C. Yang harus dipersiapkan: 1. Eclipse 2. AVD/GenieMotion 3. JDK Membuat Android Application Project Baru

Praktikum XI Animasi dan Multimedia

Modul Pengembangan Aplikasi Android Berbasis Client- Server Aplikasi sederhana android Versi 1.0

Membuat Interface Dinamis Menggunakan FrameLayout

PERTEMUAN KE 4 Representasi Data (ListView dan Spinner)

Pertemuan 2. Pemrograman Mobile. 3 SKS Semester 7 S1 Sistem Informasi. Nizar Rabbi Radliya

PEMROGRAMAN MOBILE PRAKTIKUM 11 ( DATABASE II ) Disusun oleh : CYNTHIA STEFFI CLIFF SI 12 A

Tutorial Aplikasi Android Sederhana dengan Action Button

Android - Apa itu.this dan.class

Cara membuat Aplikasi Android : CheckBox dengan Eclipse

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Pemrograman Berorientasi Objek 3 (Mobile And Web Programming)

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

Praktikum 1 - Getting Started with Android

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

Membuat list dengan RecylerView dan dependency injection ButterKniffe

DAFTAR PUSTAKA. Binanto, I., multimedia digital-dasar teori dan pengembangannya, yogyakarta.

public class MainActivity extends Activity implements AdapterView.OnItemClickListener{

Cara Membuat Aplikasi Android Sederhana Menggunakan Eclipse

UNIVERSITAS KOMPUTER INDONESIA

PEMBUATAN APLIKASI SOAL UMPN BESERTA PEMBAHASANNYA MENGGUNAKAN ANDROID BERBASIS CLIENT SERVER TUGAS AKHIR EKO JULIO MISRA

Praktikum XI Animasi dan Multimedia

Lecture Notes

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

BAB IV IMPLEMENTASI DAN PENGUJIAN

LAYOUT MENU UTAMA. <Button android:text="zakat Profesi" android:layout_width="wrap_content"

Pembuatan Aplikasi Android Sederhana dengan Eclipse

UNIVERSITAS KOMPUTER INDONESIA

[Pelatihan Pemrograman Android]

Struktur & Pemakaian Teknologi Game Pembuatan Activity

ANDROID FOR BEGINNER MODUL 2

Modul Aplikasi Mobile. Pertemuan ke-2. Pengenalan environment android pada eclipse

DAFTAR PUSTAKA. A. S., R., & Shalahuddin, M. (2013). Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek. Bandung: Informatika.

BAB 3 XML LAYOUT, BASIC WIDGET DAN SELECTION WIDGET

Praktikum IX Drag and Drop GUI dan Image Gallery

Call Phone Permission pada Android

Membuat Simple List Transaksi

Aplikasi Mobile Informasi Pengenalan Profil Pahlawan Tingkat Dasar di Indonesia Menggunakan Java Berbasis Android

PERTEMUAN KE 7 Broadcast Receiver dan Services

Variabel dan tipe data

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Pemrograman Berorientasi Objek 3 (Mobile And Web Programming)

DAFTAR PUSTAKA. Adisasmita, Rahardjo Manajemen Pemerintah Daerah. Yogyakarta: Penerbit Graha Ilmu.

Ijin Akses Agar program kita dapat mengakses GPS, kita harus menambahkan permission pada AndroidManifest.xml sebagai berikut:

UNIVERSITAS KOMPUTER INDONESIA

Membuat project Android di Eclipse Struktur project pada eclipse Mengenal Tag Layout User Interface

BAB 5 Android Event Handling Mahardeka Tri Ananta

Membuat UI Cantik Dan Serasi Di Android Menggunakan Palette Library Material Design

Praktikum VI Activity dan Intent

Membuat Alert Dialog Pada Android

Location Based Services

Praktikum 9 Pemprograman Android GUI 2 Layar

Latihan 2 List Menu Bertingkat

Memiih Penyimpanan Internal atau External

SQLite adalah produk public domain. Artinya tidak punya lisensi, anda boleh mengambil binary atau source codenya secara free / GRATIS.

ARTIKEL TUGAS AKHIR TUTORIAL APLIKASI RUMUS-RUMUS FISIKA LISTRIK DINAMIS DASAR BERBASIS ANDROID

Menampilkan Map. B. Menambahkan referensi library google-play-service.jar ke dalam project

UNIVERSITAS KOMPUTER INDONESIA

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS!

Latihan 1 Menghitung Luas Persegi Panjang

Class yang dipakai Untuk membuat tampilan map pada Android, kita bisa memanfaatkan MapView sebagai berikut:

Custom Button pada Android Februari 2012 Tingkat: Oleh : Feri Djuandi Pemula Menengah Mahir Platform : Android 2.3, Eclipse

Praktikum 3 Create a Simple Calculator Program

MODUL 10 KOMPONEN GUI ANDROID

Struktur & Pemakaian Teknologi Game Struktur Project Android

DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS!

LAMPIRAN. 1. Konsultasi.java. package com.example.saksermu.dentalexsys;

MODUL 14 INTERKONEKSI CLIENT-SERVER ANDROID

Listing Program. //mengeset nama tab dan mengisi content pada menu tab anda. tabhost.addtab(spec);

DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS!

Membuat tab menu di aplikasi android

MODUL 13 KOMPONEN GUI ANDROID

main activity resource layout

DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS!

Workshop Struktur dan Pemakaian Teknologi Game BAB 4. Menu

LAPORAN PENCATATAN DATA ZAKAT (ANDROID)

Program Database Sederhana di Android Desember 2011 Tingkat: Oleh : Feri Djuandi Pemula Menengah Mahir Platform : Android 2.

Tutorial berikut akan mengajarkan rekan-rekan cara membuat kalkulator sederhana di android.

Cara membuat aplikasi Google Map Mengenal Koordinat pemetaan (Longitude dan Latitude)

BAB IV IMPLEMENTASI DAN PENGUJIAN

PERTEMUAN KE 9 Camera dan Multimedia

BAB 3 Android User Interface

UNIVERSITAS KOMPUTER INDONESIA

2 1 Pendahuluan Saat ini, perkembangan sistem operasi pada mobile device seperti smartphone semakin banyak. Android merupakan salah satu sistem operas

LISTING PROGRAM. TabHost tab = (TabHost) findviewbyid(r.id.tabhost); tab.setup();

Membuat Tab Layout Menggunakan Android Material Design

Transkripsi:

RSS Reader dengan Android Penulis : Agus Haryanto http://agusharyanto.net agus.superwriter@gmail.com Di web-web yang sudah tekenal dan banyak pengunjungnya biasanya menyediakan RSS Feed yang bisa diakses tujuannya jelas untuk memudahkan orang berkunjung ke webnya dan juga informasi terbaru dari web tersebut dapat diketahui oleh pembaca setianya. Saya sudah coba beberapa tutorial membuat RSSReader dengan Android yang readernya menggunakan java murn, tapi setelah test beberapa telihat kurang stabil ada kalanya bisa memab rss feed dari Web A tetapi tidak bisa baca RSSFedd dari Web B. Akhirnya saya coba alternatif lain untuk readernya dengan menggunakan WebView yang mengembed dokumen html yang dapat membaca rssfeed. Dan hasilnya memuaskan. Otak dari Librarynya adalah ZRSSFEED. Sekarang mari kita mulai 1. Siapkan daftae URL yang akan kita baca RSSFeednya. Karenda disini banyak dari jurusan Ekonomi. WebSite Alamat Detik Finance Inilah.com Ekonomi Antara Bisnis Oke Zone VivaNews Bisnis http://rss.detik.com/index.php/finance http://www.inilah.com/rss/feed/ekonomi/ http://www.antara.co.id/rss/ekb.xml http://sindikasi.okezone.com/index.php/economy/rss2.0 http://rss.vivanews.com/get/bisnis 2. Dari Android buat project baru dengan nama RSSReader 1

Klik Next terus sampai finish. Setelah itu project akan terbuat dan tampil dijendela package explorer. 2. Edit activity_main.xml lalu ketikan kode berikut <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingbottom="@dimen/activity_vertical_margin" android:paddingleft="@dimen/activity_horizontal_margin" android:paddingright="@dimen/activity_horizontal_margin" android:paddingtop="@dimen/activity_vertical_margin" tools:context=".mainactivity" > <ListView android:id="@+id/listviewsite" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignparentleft="true" android:layout_alignparenttop="true" > </ListView> 2

</RelativeLayout> 3. Buat layout baru dengan nama activity_rssreader.xml lalu ketikan kode berikut <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/relativelayout1" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <WebView android:id="@+id/webview1" android:layout_width="match_parent" android:layout_height="match_parent" android:layout_alignparentleft="true" android:layout_alignparenttop="true" /> <ProgressBar android:id="@+id/progressbar1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerhorizontal="true" android:layout_centervertical="true" /> </RelativeLayout> 4. Buta Layout untuk item yang akan digunakan dalam listview dengan nama list_item_site.xml lalu ketikan kode berikut <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/textviewsite" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignparentleft="true" android:layout_alignparenttop="true" android:text="medium Text" android:textappearance="?android:attr/textappearancemedium" /> <TextView android:id="@+id/textviewsiteurl" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignparentleft="true" android:layout_below="@+id/textviewsite" android:text="textview" /> </RelativeLayout> 3

5. Edit MainActivity.java lalu ketikan kode berikut package com.agusharyanto.rssreader; import java.util.arraylist; import java.util.hashmap; import android.app.activity; import android.content.intent; import android.os.bundle; import android.view.menu; import android.view.view; import android.widget.adapterview; import android.widget.adapterview.onitemclicklistener; import android.widget.listadapter; import android.widget.listview; import android.widget.simpleadapter; public class MainActivity extends Activity { ListView listview1; private ArrayList<HashMap<String, String>> sitelist = new ArrayList<HashMap<String, String>>(); protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); initdata(); public void initdata() { sitelist.add(genhashmap("detik Finance","http://rss.detik.com/index.php/finance")); sitelist.add(genhashmap("inilah.com Ekonomi","http://www.inilah.com/rss/feed/ekonomi/")); sitelist.add(genhashmap("antara Bisnis","http://www.antara.co.id/rss/ekb.xml")); sitelist.add(genhashmap("okezone Ekonomi","http://sindikasi.okezone.com/index.php/economy/RSS2.0")); sitelist.add(genhashmap("vivanews Bisnis","http://rss.vivanews.com/get/bisnis")); setlistdata(); public HashMap<String, String> genhashmap(string name, String url) { HashMap<String, String> map = new HashMap<String, String>(); map.put("name", name); map.put("url", url); return map; public void setlistdata() { listview1 = (ListView) findviewbyid(r.id.listviewsite); ListAdapter adapter = new SimpleAdapter(this, sitelist, R.layout.list_item_site, new String[] { "name","url", new int[] { R.id.textViewSite, R.id.textViewSiteUrl ); listview1.setadapter(adapter); listview1.setonitemclicklistener(new OnItemClickListener() { 4

public void onitemclick(adapterview<?> parent, View view, int position, long id) { // showtoast("kesini", 0); HashMap<String, String> radio = (HashMap<String, String>) listview1.getitematposition(position); // Toast.makeText(getBaseContext(), "ID '" + o.get("id") + // "' was clicked.", Toast.LENGTH_SHORT).show(); callintent(radio); ); public void callintent(hashmap<string, String> radio) { Intent intent = new Intent(this, RSSReaderActivity.class); intent.putextra("object", radio); startactivity(intent); public boolean oncreateoptionsmenu(menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getmenuinflater().inflate(r.menu.main, menu); return true; 6. Untuk menampilkan RSS Feednya buat class baru dengan nama RSSReaderActivity.java lalu ketikan kode berikut package com.agusharyanto.rssreader; import java.util.hashmap; import android.app.activity; import android.graphics.bitmap; import android.os.bundle; import android.util.log; import android.view.keyevent; import android.view.menu; import android.view.menuitem; import android.view.view; import android.webkit.webview; import android.webkit.webviewclient; import android.widget.progressbar; import android.widget.toast; public class RSSReaderActivity extends Activity { private WebView web; ProgressBar progressbar; String rssurl; String localurl = "file:///android_asset/rssreader/index.html"; int flag = 0; /** Called when the activity is first created. */ 5

public void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_rssreader); web = (WebView) findviewbyid(r.id.webview1); progressbar = (ProgressBar) findviewbyid(r.id.progressbar1); web.getsettings().setjavascriptenabled(true); Bundle extras = getintent().getextras(); if (extras == null) { return; web.setwebviewclient(new mywebclient()); HashMap<String, String> rsssite = (HashMap<String, String>) extras.get("object"); rssurl = rsssite.get("url"); settitle(rsssite.get("name")); web.loadurl(localurl); public class mywebclient extends WebViewClient { public void onpagestarted(webview view, String url, Bitmap favicon) { // logdebug("loading URL: " + url); super.onpagestarted(view, url, favicon); if (!localurl.equals(web.geturl())) { progressbar.setvisibility(view.visible); public boolean shouldoverrideurlloading(webview view, String url) { // TODO Auto-generated method stub view.loadurl(url); return true; public void onpagefinished(webview view, String url) { super.onpagefinished(view, url); if (localurl.equals(web.geturl())) { web.loadurl("javascript:setrssfeed('" + rssurl + "')"); progressbar.setvisibility(view.gone); public boolean onkeydown(int keycode, KeyEvent event) { 6

// Check if the key event was the BACK key and if there's history if ((keycode == KeyEvent.KEYCODE_BACK) && web.cangoback()) { web.goback(); return true; // If it wasn't the BACK key or there's no web page history, bubble up // to the default // system behavior (probably exit the activity) return super.onkeydown(keycode, event); 7. Pada class diatas terlihat bahwa untuk menampilkan Rss Feed nya kita memanfaatkan webview yang meload dokumen pada directory /asset/deploy/index.html, dimana disini kita menggunakan library jquery dan zrssfeed untuk menampilkan rss feed. Jika ingin tahu lebih jelas bisa berkunjung ke http://www.zazar.net/developers/jquery/zrssfeed/. Untuk keperluan pembuatan aplikasi ini saya sudah siapkan filenya dan bisa di download di 8. File rssreader.zip yang sudah didownload diextract ke directory asset. 7

9. Buka file index.html pada directory /asset/rssreader <!DOCTYPE html> <html> <head> <meta http-equiv="content-type" content="text/html; charset=utf-8" /> <link href="jquery.zrssfeedmod.css" rel="stylesheet" type="text/css" /> <script src="jquery-1.4.2.min.js" type="text/javascript"></script> 8

<script src="jquery.zrssfeed.min.js" type="text/javascript"></script> <title>zrssfeed - Selecting RSS feeds from a menu</title> <script type="text/javascript"> </script> function setrssfeed(feedurl) { if (feedurl) { $('#loadingmessage').show(); $('#rssfeed').rssfeed(feedurl, { media : false, header : false, function(e) { $('#loadingmessage').hide(); ); </head> <body> <div id='loadingmessage' style='display:none; text-align: center;'> <img src='img/ajax-loader.gif'/> </div> <div id="rssfeed"></div> </body> </html> 10. Sekarang mari kita jalankan aplikasi yang telah kita buat. Klik kanan pada project RSSReader lalu pilih RunAs --> Android Application 9

Jika Semua code sudah benar maka hasilnya alan seperti ini Nah mudahkan membuat aplikasi RSSReader dengan android. Tapi coba buka pikiran dan mata kita apakah kita bisa menambahkan atau berbuat sesuatu agar aplikasi kita terlihat lebih menarik. 10