Anda di halaman 1dari 14

MEMBUAT APLIKASI SMS DENGAN MENGGUNAKAN PROGRAM JAVA DAN SUN JAVA WIRELESS TOOLKIT 2.5.

Dibuat

Oleh: Dina Mayasari (0610 3070 1222)

Mata Kuliah : Pemrograman Jaringan

POLITEKNIK NEGERI SRIWIJAYA PALEMBANG 2013

Aplikasi SMS Menggunakan Wireless Toolkit 2.5.2 1. Copy lah program aplikasi nilai dengan login terlebih dahulu lewat textpad atau notepad Berikut program aplikasinya : import java.util.*; import java.io.IOException; import javax.microedition.io.*; import javax.microedition.lcdui.*; import javax.wireless.messaging.*; import javax.microedition.midlet.*; public class smsKu extends MIDlet implements CommandListener, Runnable, MessageListener { Display display; Form form; List menuList; //list untuk menu awal Command exitCom, replyCom, backCom, clrCom, sendCom; //macem macem command yg digunakan TextBox textSmsMasuk, textSmsKeluar; //tempat untuk text sms yg masuk dan yg mau dikirim TextField textNo; //untuk tempat memasukan no tujuan String port, isiSmsKeluar; //port dan isi sms Thread thread; String[] connections; boolean done; MessageConnection smsconn; Message msg; public smsKu() { display = Display.getDisplay(this); form = new Form("sms_dina"); exitCom = new Command("keluar", Command.EXIT, 1); replyCom = new Command("dina", Command.SCREEN, 1); backCom = new Command("sebelumnya", Command.BACK, 3); clrCom = new Command("buang ", Command.OK, 2); sendCom = new Command("dina", Command.OK, 1); menuList = new List("Menu sms Ku", List.IMPLICIT); port = "4321"; //port yang aku gunakan, silakan ganti sesuai keinginan masing masing textSmsMasuk = new TextBox(null, null, 500, TextField.ANY); textSmsKeluar = new TextBox("Silakan Menulis Sms", null, 500, TextField.ANY); textNo = new TextField("Masukan Nomor Tujuan", "",

15, TextField.PHONENUMBER); } public void startApp() { bukaKoneksi(); //disini membuka koneksi untuk siap menerima sms masuk menu(); // bikin tampilan menu awal } public void pauseApp() { } public void destroyApp(boolean unconditional) { //sebelum aplikasinya keluar atau mati koneksi ditutup dulu done = true; thread = null; if (smsconn != null) { try { smsconn.close(); } catch (IOException e) { } } //disini mati aplikasi kita notifyDestroyed(); } public void menu() { //membuat menu awal untuk sementara ini baru ada 2 menu dulu menuList.append("Buat SMS", null);//1. menu tulis sms baru menuList.append("About", null);//2. Tentang menuList.append("Exit", null); //3. menu untuk keluar aplikasi menuList.addCommand(exitCom); //add command keluar menuList.setCommandListener(this); display.setCurrent(menuList); } public void tulisSms() { //membuat textbox untuk menulis sms baru textSmsKeluar.addCommand(sendCom); //add command untuk kirim textSmsKeluar.addCommand(clrCom); // add command untuk clear text textSmsKeluar.addCommand(backCom); //add command untuk kembali kemenu awal textSmsKeluar.setCommandListener(this); display.setCurrent(textSmsKeluar); }

public void masukNo() { //disini untuk memasukan nomor tujuan yang mau dikirimi sms form.setTitle("Sms Siap dikirim"); //udah taukan yang ini? form.append(textNo); //menambahkan textField untuk nomor tujuan form.addCommand(backCom); //menambahkan command untuk kembali ke menu awal form.addCommand(sendCom); //menambahkan command untuk mengirim form.setCommandListener(this); display.setCurrent(form); } public void kirim() { //disini sms yang udah ditulis dikirim dengan perintah dibawah ini new Thread(new Runnable() { //perhatiin ya public void run() { try { String isiSms = isiSmsKeluar; String noTujuan = textNo.getString(); String address = "sms://" + noTujuan + ":" + port; MessageConnection smsConnKir = null; Message isiSmsNya = null; smsConnKir = (MessageConnection) Connector.open(address); TextMessage txtmessage = (TextMessage) smsConnKir.newMessage(MessageConnection.TEXT_MESSAGE); txtmessage.setAddress(address); txtmessage.setPayloadText(isiSms); isiSmsNya = txtmessage; smsConnKir.send(isiSmsNya); } catch (Throwable t) { t.printStackTrace(); } } }).start(); } public void terima(String isi, String no, Date tgl) { //ini untuk tempat membaca sms yang masuk String nonya = fixNomer(no); textSmsMasuk = new TextBox("Sms dari:" + nonya + " " + tgl, isi, isi.length(), TextField.ANY); textSmsMasuk.addCommand(replyCom); textSmsMasuk.addCommand(exitCom); textSmsMasuk.setCommandListener(this); display.setCurrent(textSmsMasuk); }

public void bukaKoneksi() { //membuka koneksi agar bisa menerima sms yg masuk String smsConnection = "sms://:" + port; done = true; thread = null; try { smsconn = (MessageConnection) Connector.open(smsConnection); smsconn.setMessageListener(this); } catch (IOException ioe) { ioe.printStackTrace(); } connections = PushRegistry.listConnections(true); done = false; thread = new Thread(this); thread.start(); } public void tutupKoneksi() { //untuk menutup koneksi sms try { smsconn.close(); } catch (IOException e) { } } public String fixNomer(String no) { //dari format no gini "sms://+6285XXXX" jadi "+6285XXX" gitu fungsinya disini itu String hs = null; hs = no.substring(6, no.length()); return hs; } public void commandAction(Command c, Displayable d) { if (c == exitCom) { destroyApp(true); } if (d == menuList) { if (menuList.isSelected(0)) { tulisSms(); } else if (menuList.isSelected(1)) { Alert about = new Alert("About", "Dina Mayasari 6TCB",

null, AlertType.INFO); display.setCurrent(about); } else if (menuList.isSelected(2)) { destroyApp(true); } } if (d == textSmsKeluar) { if (c == sendCom) { form.deleteAll(); masukNo(); } else if (c == clrCom) { textSmsKeluar.setString(""); } else if (c == backCom) { display.setCurrent(menuList); } } if (d == textSmsMasuk) { if (c == exitCom) { display.setCurrent(menuList); } else if (c == replyCom) { tulisSms(); } } if (d == form) { if (c == backCom) { form.deleteAll(); display.setCurrent(textSmsKeluar); } else if (c == sendCom) { isiSmsKeluar = textSmsKeluar.getString(); textSmsKeluar.setString(""); kirim(); } } } public void run() { //untuk menerima sms yang masuk try { msg = smsconn.receive(); String senderAddress = msg.getAddress(); Date waktuSms = msg.getTimestamp(); if (msg instanceof TextMessage) { String isiSmsMasuk = ((TextMessage) msg).getPayloadText(); terima(isiSmsMasuk, senderAddress, waktuSms);//ini memasukan sms yg diterima ke textbox

} tutupKoneksi(); bukaKoneksi(); } catch (IOException e) { } } public void notifyIncomingMessage(MessageConnection conn) { if (thread == null) { done = false; thread = new Thread(this); thread.start(); } } } 2. Buka aplikasi Wireless Toolkit 2.5.2 3. Buatlah New Project

4. Buatlah nama project seperti pada gambar dibawah,

5. Lalu Create Project, setelah di create project maka akan tampil seperti pada gambar dibawah ini,

6. Klik OK, setelah di OK maka akan tampil seperti pada gambar dibawah ini

7. Setelah project dibuat, simpan program dengan nama smsKu.java dan lokasi file di simpan di C:\Documents and Settings\UserXP\j2mewtk\2.5.2\apps\smsKu\src

8. Setelah disimpan, Open Project Pilih project smsKuOpen Project, dapat dilihat pada gambar dibawah ini,

9. Setelah di Open Project, maka tampil gambar dibawah ini,

10. Lakukan Build, setelah di build akan tampil seperti pada gambar dibawah ini,

11. Jika build nya complete lakukan Run , setelah di run akan tampil seperti pada gambar dibawah ini,

12. Lalu di launch dan yes, maka akan tampil seperti pada gambar dibawah ini

13. Buat SMS, lalu ketikan pesannya dan anterke pesan ke no 555 0001 dapat dilihat pada gambar,

14. Setelah pesan di anterke maka pesan akan masuk ke no 555 0001

15. Lalu lakukan jawab ke dina pada no 555 0001,

16. Masukan no tujuan yaitu 555 0000 dan pesan nya sampai ke no 555 0000, seperti pada gambar

Anda mungkin juga menyukai