Senin, 03 Juni 2013

Program Kirim dan Terima SMS dengan JAVA


Oke bocah-bocah kali ini saya ingin coba berbagi ilmu mengenai pemrograman di dalam bahasa java, dimana kali ini kita akan coba membuat program kirim dan terima sms yang nanti akan kita jalankan dengan menggunakan sun java wireless toolkit.

pertama pastikan komputer  sudah terinstal java jdk-nya dan sun java wireless toolkit. setelah itu ketik program berikut di notepad 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 , jika kita sudah membuat program yang diatas tadi, selanjutnya kita akan membuat program untuk terima smsnya, nah berikut source code nya dan jika selesai simpan dengan nama TerimaSMS.java

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, kita beralih ke sun java wireless toolkit. sebelumnya  pastikan kita telah menginstal sun java wireless toolkit, jika selesai sekarang buka wireless toolkit 2.5.2
keempat,  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.

kelima, pindahkan program KirimSMS.java  dan TerimaSMS.java yang telah kita simpan tadi ke j2mewtk\2.5.2\apps\KirimSMS\src
keenam, jika selesai, kita kembali lagi ke wireless toolkit. sekarang kita klik open project dan buka project dengan nama KirimSMS
kemudian jika selesai klik button build, kemudian pilih edit-preferences-WMA.
nah pada pada first assigned phone number, isikan nomor handphon. nomor itu bertujuan sebagai nomor handphone yg digunakan pada simulasi program kirim dan terima sms dan no itu juga bisa diganti dengan no yang lain. jika selesai klik ok
lakukan hal yang sama pada program TerimaSMS akan tetapi isikan no yang berbeda dengan Kirim SMS. jika selesai klik run untuk menjalankan programnya. dan untuk menjalankan program nya tinggal klik launch aja di masing2 simulasi handphone nya

sekian…

Tidak ada komentar:

Posting Komentar