Minggu, 03 Juni 2012

Pemrograman Android : Menampilkan HTML Lokal pada Asset Android

HTML dapat ditampilkan di dalam Aplikasi Android yang dibawa beserta instalasi aplikasi tersebut dalam folder asset. HTML yang disertakan juga dapat mengandung gambar yang juga diletakkan di folder asset dan dipanggil seperti biasa dengan tag <img src="namagbr.jpg">. Kegunaannya bisa bermacam-macam, misal membuat Help, Buku Mobile, Aplikasi Pembelajaran Mobile dll.

Caranya masukkan halaman HTML beserta gambar yang ingin ditampilkan dalam Project Android di folder Asset, misal help.html :


<html>
<head>
<title>Help</title>
</head>

<body>
<p><b>Help Android</b></p>
<p><img src="images/pic.jpg" width="100" /></p>
<p><a href="next.html">Next&gt;&gt;</a></p>
<p><a href="back.html">&lt;&lt;Back </a></p>
<p><a href="http://google.com">Google</a></p>
</body>
</html>


Apabila ada halaman yang mempunyai link untuk memanggil halaman lain disebelahnya maka digunakan url relative yaitu <nama>.html. Sedangkan apabila mempunyai link untuk memanggil halaman eksternal di web maka digunakan URL biasa http://<namaweb> misal http://google.com.

Buat dahulu desain tampilannya yang mempunyai WebView di dalamnya, misalnya help.xml :


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:orientation="vertical"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    >
<WebView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/wBrowser"></WebView>

</LinearLayout>


Kemudian halaman HTML tersebut bisa dipanggil di dalam Activity. Halaman yang ada dapat dipanggil dengan URL  file:///android_asset/<nama_halaman>.html  Sedangkan apabila mempunyai link untuk memanggil halaman eksternal di web maka digunakan URL biasa http://<namaweb> misal http://google.com. sebagai berikut :


package amijaya.help;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.webkit.WebView;

public class SMShelp extends Activity {
   /** Called when the activity is first created. */
   @Override
   public void onCreate(Bundle savedInstanceState) {
       super.onCreate(savedInstanceState);
       setContentView(R.layout.help);
        
       WebView wBrowser = (WebView) findViewById(R.id.wBrowser);
wBrowser.getSettings().setJavaScriptEnabled(true);
//wBrowser.loadUrl("http://www.google.com"); 
wBrowser.loadUrl("file:///android_asset/help.html");   
   
   };
}


Jangan lupa, untuk dapat mengakses halaman web eksternal di internet tambahkan permission INTERNET di AndroidManifest.xml

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

Semoga bermanfaat.