Membuat Browser Sederhana Menggunakan J2ME

Posted: April 20, 2011 in Uncategorized

Tampilan Awal Menu

Tampilan Browser Pada Handphone

Gambaran Umum Aplikasi Internet Browser

Pada pembuatan aplikasi ini saya  menggunakan bahasa pemrograman Java versi 2 atau sering disebut dengan Java 2. Pada Java 2 terdapat tiga kategori yaitu Java 2 Standard Edition (J2SE), Java 2 Enterprise Edition (J2EE) dan Java 2 Micro Edition (J2ME). Dari ketiga bahasa pemrograman diatas dalam pembuatan aplikasi ini menggunakan Java 2 Micro Edition (J2ME) karena merupakan salah satu bagian dari teknologi yang dikembangkan untuk memungkinkan aplikasi Java berjalan di perangkat Mobile seperti Telepon genggam, Palm, Pocket PC, dan sebagainya.

Di dalam Java 2 Micro Edition (J2ME) terdapat suatu aplikasi yang disebut J2ME Wireless Toolkit yang digunakan untuk pengembangan aplikasi wireless dikarenakan memiliki beberapa emulator untuk menjalankan aplikasi wireless java yang telah dibuat.

Pada kesempatan kali in isaya akan coba membuat aplikasi J2ME yaitu Internet browser, yang bertujuan untuk mengkoneksikan ke alamat web yang dituju.

Langsung saja kita mulai, source code’nya ada dibawah ini beserta penjelasanya.

———————————————————————————————-

import java.io.*;

import javax.microedition.io.*;

import javax.microedition.lcdui.*;

import javax.microedition.midlet.*;

–> digunakan untuk meng-import java API

public class qbrowser extends MIDlet implements CommandListener, Runnable {

–> digunakan untuk pendeklarasian class

  private Display tampilan;

  private Form alamat = new Form(“Simple Browser”);

  private Form koneksi = new Form(“Connecting”);

  private Form tampil = new Form(“Server Reply”);

  private TextField uRl = new TextField(“URL:”, “”, 256, TextField.ANY);

  private StringItem labelny = new StringItem(null, “Connecting…\nPlease wait.”);

  private Command yes = new Command(“OK”, Command.OK, 0);

  private Command keluar = new Command(“Exit”, Command.EXIT, 0);

  private Command kembali = new Command(“Back”, Command.BACK, 0);

–> digunakan untuk pendeklarasian variabel, objek dan command

protected void startApp() throws MIDletStateChangeException {

    tampilan = Display.getDisplay(this);

    alamat.append(uRl);

    alamat.addCommand(yes);

    alamat.addCommand(keluar);

    alamat.setCommandListener(this);

    koneksi.append(labelny);

    koneksi.addCommand(kembali);

    koneksi.setCommandListener(this);

    tampil.addCommand(kembali);

    tampil.setCommandListener(this);

    tampilan.setCurrent(alamat);

–> Listing diatas merupakan perintah untuk menjalankan aplikasi

}

  protected void pauseApp() {

  }

–> digunakan untuk menghentikan aplikasi

protected void destroyApp(boolean unconditional)

      throws MIDletStateChangeException {

  }

–> digunakan untuk keluar aplikasi

public void commandAction(Command cmd, Displayable d) {

    if (cmd == yes) {

      Thread t = new Thread(this);

      t.start();

      tampilan.setCurrent(koneksi);

    } else if (cmd == kembali) {

      tampilan.setCurrent(alamat);

    } else if (cmd == keluar) {

      try {

        destroyApp(true);

      } catch (MIDletStateChangeException ex) {

      }

      notifyDestroyed();

    }

  }

 

  public void run() {

    InputStream is = null;

    HttpConnection conn = null;

    try {

      String url = uRl.getString();

      if (!url.startsWith(“http://”) && !url.startsWith(“https://”)) {

        url = “http://” + url;

      }

      conn = (HttpConnection) Connector.open(url, Connector.READ_WRITE);

      if (conn.getResponseCode() == HttpConnection.HTTP_OK) {

        is = conn.openInputStream();

        final int MAX_LENGTH = 128;

        byte[] buf = new byte[MAX_LENGTH];

        int total = 0;

        while (total < MAX_LENGTH) {

          int count = is.read(buf, total, MAX_LENGTH – total);

          if (count < 0) {

            break;

          }

          total += count;

        }

        is.close();

        String reply = new String(buf, 0, total);

        labelny.setText(reply);

      } else {

        labelny.setText(“Gagal: error ” + conn.getResponseCode() + “\n”+ conn.getResponseMessage());

      }

      conn.close();

      tampilan.setCurrent(tampil);

    } catch (IOException ex) {

      System.out.println(ex);

      ex.printStackTrace();

      Alert alert = new Alert(“Error”,”Koneksi Gagal.”, null,AlertType.ERROR);

      alert.setTimeout(Alert.FOREVER);

      tampilan.setCurrent(alert, alamat);

      return;

    }

  }

}

–> Listing diatas merupakan perintah-perintah penanganan validasi tombol. Dimana dalam hal ini meliputi variabel, objek, dan perintah yang berhubungan dengan fungsi utama aplikasi

OK good Luck dan semoga Bermanfaat….

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s