Sunday, January 15, 2012

Membuat Browser Sederhana Menggunakan J2ME



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...

Semoga Bermanfaat.....!!!!!

No comments:

Post a Comment