Senin, 03 Juni 2013

Kirim dan Terima SMS Dengan Java

Berikut adalah langkah-langkah untuk dapat mengirim dan menerima SMS menggunakan Sun Java (TM) Wireless Toolkit 2.5.2.
Pertama pastikan komputer anda sudah terinstal Java JDK-nya dan Sun Java (TM) Wireless Toolkit 2.5.2 lalu ketikkan code source di TextPad dan simpan dengan nama kirimSMS.java. Nah berikut source code nya :

import javax.microedition.io.Connector;
import javax.microedition.lcdui.*;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.wireless.messaging.MessageConnection;
import javax.wireless.messaging.TextMessage;

public class kirimSMS extends MIDlet implements CommandListener,Runnable {

 private Form sendMessageForm;
 private TextField number, msg;
 private Command cmdOK,cmdExit;
 private String telpNum, isiPesan = "";

 public kirimSMS (){
  cmdExit = new Command("Back", Command.EXIT, 2);
  cmdOK = new Command("Send", Command.SCREEN, 2);
  sendMessageForm = new Form("Send Message");
  msg = new TextField("Message:", null, 50, TextField.ANY);
  number = new TextField("Telepon:", null, 15, TextField.PHONENUMBER);

  sendMessageForm.append(number);
  sendMessageForm.append(msg);
  sendMessageForm.addCommand(cmdOK);
  sendMessageForm.addCommand(cmdExit);
  sendMessageForm.setCommandListener(this);
 }

 protected void destroyApp(boolean arg0) {
  notifyDestroyed();
 }

 protected void pauseApp() {
 }

 protected void startApp() throws MIDletStateChangeException {
  Display.getDisplay(this).setCurrent(sendMessageForm);
 }

 public void commandAction(Command arg0, Displayable arg1) {
  if(arg0==cmdOK){
   telpNum = number.getString();
   isiPesan = msg.getString();
   new Thread(this).start();
   number.setString("");
   msg.setString("");
   Display.getDisplay(this).setCurrent(sendMessageForm);
  }else if(arg0==cmdExit){
   destroyApp(true);
  }
 }

 public void run() {
  try{
   String nomorTelp = "sms://" + telpNum + ":1234";
   MessageConnection conn = (MessageConnection)Connector.open(nomorTelp);
   TextMessage msg = (TextMessage) conn.newMessage(MessageConnection.TEXT_MESSAGE);
   msg.setPayloadText(isiPesan);
   conn.send(msg);
   conn.close();
  }catch(Exception e){
   e.printStackTrace();
  }

 }

}

Kedua, ketikkan code source di TextPad dan simpan dengan nama terimaSMS.java. Nah berikut source code nya :

import javax.microedition.io.Connector;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.TextBox;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.wireless.messaging.Message;
import javax.wireless.messaging.MessageConnection;
import javax.wireless.messaging.TextMessage;


public class terimaSMS extends MIDlet implements Runnable, CommandListener {

 private TextBox tb;
 private String text = "Menunggu pesan...";
 private Command okComand;

 public terimaSMS() {

  tb = new TextBox("Hello MIDlet", text, 150, 0);

 }

 protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
 }

 protected void pauseApp() {
 }

 protected void startApp() throws MIDletStateChangeException {
  Display.getDisplay(this).setCurrent(tb);
  new Thread(this).start();

 }

 public void changeScreen() {
  tb = new TextBox("SMS MIDlet", text, 150, 0);
  Display.getDisplay(this).setCurrent(tb);
 }

 public void addConfirmation(String msg) {
  tb = new TextBox("SMS MIDlet", text, 150, 0);
  tb.setString(msg);
  okComand = new Command("OK",Command.OK,1);
  tb.addCommand(okComand);
  tb.setCommandListener(this);
  Display.getDisplay(this).setCurrent(tb);
 }

 public void run() {
  try {
   MessageConnection rconn = (MessageConnection) Connector
     .open("sms://:1234");

   while (true) {
    Message msg = rconn.receive();
    if (msg instanceof TextMessage) {
     TextMessage tmsg = (TextMessage) msg;
     String msgOut = tmsg.getPayloadText();
    
     addConfirmation(msgOut);
    }
   }
  } catch (Exception e) {
   e.printStackTrace();
  }
 }

 public void commandAction(Command arg0, Displayable arg1) {
 }
}

Ketiga, jika sudah selesai mengetik kedua program diatas, sekarang waktu nya kita beralih ke Sun Java (TM) Wireless Toolkit 2.5.2. Klik New Project  kemudian pada Project Name dan MIDlet class name isikan kirimSMS, kemudian klik create project. kemudian pilih new project lagi dan pada Project Name dan MIDlet class name isikan terimaSMS.

Keempat, pindahkan program kirimSMS.java yang telah kita simpan tadi ke C:\Documents and Settings\Juju\j2mewtk\2.5.2\apps\kirimSMS\src (untuk nama users sesuaikan dengan nama user pada komputer anda). Lalu pindahkan juga program terimaSMS.java yang telah disimpan sebelumnya ke C:\Documents and Settings\Juju\j2mewtk\2.5.2\apps\terimaSMS\src.

Setelah itu pada Sun Java (TM) Wireless Toolkit 2.5.2, pilih Open Project dan buka project kirimSMS, lalu Build dan Run. Lakukan hal yang sama untuk membuka project terimaSMS. Pastikan pada program kirimSMS dan terimaSMS telah diisi nomor yang berbeda.
Tampilan Program kirimSMS dan terimaSMS
 
 Proses Mengirim Pesan
 
Pesan Berhasil Terkirim
 

Selanjutnya adalah membuat Package. Untuk menjalankan aplikasi ini di handphone kita harus membuat file .jad , file inilah yang nantinya akan kita pindahkan ke handphone dan kita instal di handphone.
Langkah-langkah pembuatan file .jad adalah sebagai berikut:

  1. pilih Project
  2. pilih Package
  3. pilih Create Package
Maka file .jad akan tercipta, dan file tersebut disimpan di dalam direktori bin.
 
Selamat mencoba,.

Tidak ada komentar:

Posting Komentar