SlideShare a Scribd company logo
Program SMS Menggunakan Java
Membuat Aplikasi Kirim SMS Menggunakan Java J2ME
Program ini digunakan untuk membuat aplikasi kirim sms dengan menggunakan
java. Untuk membuatnya, berikut langkah-langkahnya:
1. Kita jalankan dulu Sun Java (TM) Wireless Toolkit 2.5.2. Setelah itu, klik New
Project, di ProjectName kita ketikkan nama project kita
sesuai keinginan, misalnya sms, di MIDlet Class Name ketikkan tulisan yang
sama, Lalu klik Create Project.
2. Selanjutnya akan muncul kotak dialog setting, kita klik OK saja.
Setelah itu akan tampil tulisan
a. Creating project “smsKu”
b. Place Java source files in “I:Documents and
Settingsmiaej2mewtk2.5.2appssmsKusrc”
Ket: Disinilah tempat kita menyimpan source atau koding program yang kita buat
yaitu pada direktori SRC
c. Place Aplication resource files in “I:Documents and
Settingsmiaej2mewtk2.5.2appssmsKures”
Ket: Disinilah tempat kita menyimpan file gambar atau animasi yang kita buat
yaitu pada direktori RES
3. Kita beralih ke TextPad, dan ketikkan listing progra2.54 berikut:
import java.util.*;
import java.io.IOException; import javax.microedition.io.*;
importjavax.microedition.lcdui.*;
import javax.wireless.messaging.*;
importjavax.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; //command yg
digunakan
TextBox textSmsMasuk, textSmsKeluar; //tempat text sms yg masuk & 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-an Yuk");
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);//memasukan sms ke texbok
} tutupKoneksi(); bukaKoneksi();
} catch (IOException e) {
}
}
public void notifyIncomingMessage(MessageConnection conn) {
if (thread == null) {
done = false;
thread = new Thread(this);
thread.start();
}
}
}
4.
Simpan program tersebut pada direktori src seperti di atas dengan nama din
i.java (nama file harus sama dengan nama kelas pada saat kita membuat new
project). Selanjutnya kita kembali lagi ke Sun Java (TM) Wireless Toolkit
2.5.2_01 for CLDC.
5. Kemudian, klik Build untuk mengetahui apakah program yang kita buat sudah
benar
atau belum. Jika masih terdapat kesalahan maka perhatikan kesalahannya
pada baris. Kesalahan dan lokasi kesalahan yang ditunjukan pada layar
konsul. Perbaiki kesalahan program tersebut hingga selesai simpan dan ulangi
Build kembali. Setelah proses build selesai jika tidak terdapat kesalahan, klik Run.
Kita bisa coba jalankan aplikasi buatan kita. Dalam percobaan aplikasi ini, kita
klik Run sebanyak 2kali agar tampilan handphone menjadi 2 buah dengan nomor
yang berbeda.
6. Berikut adalah urutan hasil tampilan aplikasi yang telah dibuat.
Tampilan Ketika Program Dijalankan
Tampilan Awal Program dan Tulis SMS kirim nomor sesuai nomor tujuan
Tampilan ketika SMS yang dikirim telah sampai di nomor tujuan
exitCom = new Command("keluar", Command.EXIT, 1); replyCom = new
Command("balas", Command.SCREEN, 1); backCom = new
Command("Kembali", Command.BACK, 3); clrCom = new Command("Hapus
Tulisan", Command.OK, 2); sendCom = new Command("Kirim", Command.OK,
1); menuList = new List("Menu sms Ku", List.IMPLICIT);
port = "4321"; //port yang aku gunakan, 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 ato mati koneksi ditutup dulu done = true;
thread = null;
if (smsconn != null) {
try {
smsconn.close();
} catch (IOException e) {
}
}
//disini mati deh aplikasi kita notifyDestroyed();
}
public void menu() { //membuat menu awal untuk sementara ini baru ada 3 menu
menuList.append("Tulis Sms", null);//1. menu tulis sms baru
menuList.append("about", null);//2. menu about (gak penting sih sebenarnya)
menuList.append("Keluar", 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
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 dgn perintah
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) { //tempat sms 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
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", "Selamat Datang di Fhadil, " + "Mari Belajar
Java",
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();
exitCom = new Command("keluar", Command.EXIT, 1); replyCom = new
Command("balas", Command.SCREEN, 1); backCom = new
Command("Kembali", Command.BACK, 3); clrCom = new Command("Hapus
Tulisan", Command.OK, 2); sendCom = new Command("Kirim", Command.OK,
1); menuList = new List("Menu sms Ku", List.IMPLICIT);
port = "4321"; //port yang aku gunakan, 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 ato mati koneksi ditutup dulu done = true;
thread = null;
if (smsconn != null) {
try {
smsconn.close();
} catch (IOException e) {
}
}
//disini mati deh aplikasi kita
notifyDestroyed();
}
public void menu() { //membuat menu awal untuk sementara ini baru ada 3 menu
menuList.append("Tulis Sms", null);//1. menu tulis sms baru
menuList.append("about", null);//2. menu about (gak penting sih sebenarnya)
menuList.append("Keluar", 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
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 dgn perintah
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) { //tempat sms 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
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", "Selamat Datang di Fhadil, " + "Mari Belajar
Java",
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();

More Related Content

PDF
Tutorial Java netbeans
PDF
Vb6xpstyle
PDF
Membuat game j2 me nuril
PDF
So anita putri
PDF
Tutorial java & mysql
PDF
F 10011543 fathorazi nur fajri
PPTX
Membuat virus Komputer
PDF
Penyelesaian persamaan non linier
Tutorial Java netbeans
Vb6xpstyle
Membuat game j2 me nuril
So anita putri
Tutorial java & mysql
F 10011543 fathorazi nur fajri
Membuat virus Komputer
Penyelesaian persamaan non linier

What's hot (14)

DOCX
Kombinasi keyboard
DOCX
Belajar program nilai siswa visual basic 6
DOCX
Modul 3-p3-4
PDF
Jeni Intro2 Bab07 Abstract Windowing Toolkit Dan Swing
PDF
Tutorial membuat form dalam netbeans versi2
PDF
Modul praktikum javascript
PDF
Dasar-dasar javascript
DOCX
Laporan6
PDF
Praktikum javascript
PDF
Os2013 lap4-ridwan
PDF
Os2013 lap5-ridwan
PDF
Praktikum 4B
PDF
Kombinasi keyboard
Belajar program nilai siswa visual basic 6
Modul 3-p3-4
Jeni Intro2 Bab07 Abstract Windowing Toolkit Dan Swing
Tutorial membuat form dalam netbeans versi2
Modul praktikum javascript
Dasar-dasar javascript
Laporan6
Praktikum javascript
Os2013 lap4-ridwan
Os2013 lap5-ridwan
Praktikum 4B
Ad

Viewers also liked (16)

PDF
Waxraninaka pdf
DOCX
Info server dan info client
PPTX
Facebook Dilemma
DOCX
Chatting dengan beberapa pc laptop
PDF
Sustainable transport
PPTX
The ABC of IoT
PDF
Mosa book es-de
PPTX
Asap methodology
PPT
Herbology review HiH
PDF
Sinha_WhitePaper
PDF
instalar google drive en windows
PPTX
PPTX
Capps vacation
DOCX
Tugas 1
PPTX
This is What Matters
PDF
Apostilaadministracao aplicada-a-seguranca-no-trabalho-150317074308-conversio...
Waxraninaka pdf
Info server dan info client
Facebook Dilemma
Chatting dengan beberapa pc laptop
Sustainable transport
The ABC of IoT
Mosa book es-de
Asap methodology
Herbology review HiH
Sinha_WhitePaper
instalar google drive en windows
Capps vacation
Tugas 1
This is What Matters
Apostilaadministracao aplicada-a-seguranca-no-trabalho-150317074308-conversio...
Ad

Similar to Program sms menggunakan java ria (7)

PDF
Modul membangun-aplikasi-sms-gateway-dengan-delphi-7-mysql blog1
PDF
Praktikum 10
PPTX
Messaging - Review - Beginning Android Programming With Android Studio
PDF
Lucky anugerah 1100631020
PDF
Aplikasi sms sederhana dengan gammu dan java
PDF
Aplinet 1100631006
DOCX
Laporan praktikum modul 7 pemrogrman mobile j2me
Modul membangun-aplikasi-sms-gateway-dengan-delphi-7-mysql blog1
Praktikum 10
Messaging - Review - Beginning Android Programming With Android Studio
Lucky anugerah 1100631020
Aplikasi sms sederhana dengan gammu dan java
Aplinet 1100631006
Laporan praktikum modul 7 pemrogrman mobile j2me

Program sms menggunakan java ria

  • 1. Program SMS Menggunakan Java Membuat Aplikasi Kirim SMS Menggunakan Java J2ME Program ini digunakan untuk membuat aplikasi kirim sms dengan menggunakan java. Untuk membuatnya, berikut langkah-langkahnya: 1. Kita jalankan dulu Sun Java (TM) Wireless Toolkit 2.5.2. Setelah itu, klik New Project, di ProjectName kita ketikkan nama project kita sesuai keinginan, misalnya sms, di MIDlet Class Name ketikkan tulisan yang sama, Lalu klik Create Project. 2. Selanjutnya akan muncul kotak dialog setting, kita klik OK saja. Setelah itu akan tampil tulisan a. Creating project “smsKu” b. Place Java source files in “I:Documents and Settingsmiaej2mewtk2.5.2appssmsKusrc” Ket: Disinilah tempat kita menyimpan source atau koding program yang kita buat yaitu pada direktori SRC c. Place Aplication resource files in “I:Documents and Settingsmiaej2mewtk2.5.2appssmsKures” Ket: Disinilah tempat kita menyimpan file gambar atau animasi yang kita buat yaitu pada direktori RES 3. Kita beralih ke TextPad, dan ketikkan listing progra2.54 berikut: import java.util.*;
  • 2. import java.io.IOException; import javax.microedition.io.*; importjavax.microedition.lcdui.*; import javax.wireless.messaging.*; importjavax.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; //command yg digunakan TextBox textSmsMasuk, textSmsKeluar; //tempat text sms yg masuk & 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-an Yuk"); display.setCurrent(textSmsKeluar); } else if (c == sendCom) { isiSmsKeluar = textSmsKeluar.getString(); textSmsKeluar.setString(""); kirim(); } } }
  • 3. 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);//memasukan sms ke texbok } tutupKoneksi(); bukaKoneksi(); } catch (IOException e) { } } public void notifyIncomingMessage(MessageConnection conn) { if (thread == null) { done = false; thread = new Thread(this); thread.start(); } } } 4. Simpan program tersebut pada direktori src seperti di atas dengan nama din i.java (nama file harus sama dengan nama kelas pada saat kita membuat new project). Selanjutnya kita kembali lagi ke Sun Java (TM) Wireless Toolkit 2.5.2_01 for CLDC. 5. Kemudian, klik Build untuk mengetahui apakah program yang kita buat sudah benar atau belum. Jika masih terdapat kesalahan maka perhatikan kesalahannya
  • 4. pada baris. Kesalahan dan lokasi kesalahan yang ditunjukan pada layar konsul. Perbaiki kesalahan program tersebut hingga selesai simpan dan ulangi Build kembali. Setelah proses build selesai jika tidak terdapat kesalahan, klik Run. Kita bisa coba jalankan aplikasi buatan kita. Dalam percobaan aplikasi ini, kita klik Run sebanyak 2kali agar tampilan handphone menjadi 2 buah dengan nomor yang berbeda. 6. Berikut adalah urutan hasil tampilan aplikasi yang telah dibuat. Tampilan Ketika Program Dijalankan
  • 5. Tampilan Awal Program dan Tulis SMS kirim nomor sesuai nomor tujuan Tampilan ketika SMS yang dikirim telah sampai di nomor tujuan exitCom = new Command("keluar", Command.EXIT, 1); replyCom = new Command("balas", Command.SCREEN, 1); backCom = new
  • 6. Command("Kembali", Command.BACK, 3); clrCom = new Command("Hapus Tulisan", Command.OK, 2); sendCom = new Command("Kirim", Command.OK, 1); menuList = new List("Menu sms Ku", List.IMPLICIT); port = "4321"; //port yang aku gunakan, 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 ato mati koneksi ditutup dulu done = true; thread = null; if (smsconn != null) { try { smsconn.close(); } catch (IOException e) { } }
  • 7. //disini mati deh aplikasi kita notifyDestroyed(); } public void menu() { //membuat menu awal untuk sementara ini baru ada 3 menu menuList.append("Tulis Sms", null);//1. menu tulis sms baru menuList.append("about", null);//2. menu about (gak penting sih sebenarnya) menuList.append("Keluar", 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 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); }
  • 8. public void kirim() { //disini sms yang udah ditulis dikirim dgn perintah 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) { //tempat sms 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
  • 9. 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 String hs = null; hs = no.substring(6, no.length());
  • 10. 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", "Selamat Datang di Fhadil, " + "Mari Belajar Java", 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) {
  • 11. tulisSms(); } } if (d == form) { if (c == backCom) { form.deleteAll(); exitCom = new Command("keluar", Command.EXIT, 1); replyCom = new Command("balas", Command.SCREEN, 1); backCom = new Command("Kembali", Command.BACK, 3); clrCom = new Command("Hapus Tulisan", Command.OK, 2); sendCom = new Command("Kirim", Command.OK, 1); menuList = new List("Menu sms Ku", List.IMPLICIT); port = "4321"; //port yang aku gunakan, 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() { }
  • 12. public void destroyApp(boolean unconditional) { //sebelum aplikasinya keluar ato mati koneksi ditutup dulu done = true; thread = null; if (smsconn != null) { try { smsconn.close(); } catch (IOException e) { } } //disini mati deh aplikasi kita notifyDestroyed(); } public void menu() { //membuat menu awal untuk sementara ini baru ada 3 menu menuList.append("Tulis Sms", null);//1. menu tulis sms baru menuList.append("about", null);//2. menu about (gak penting sih sebenarnya) menuList.append("Keluar", 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);
  • 13. } public void masukNo() { //disini untuk memasukan nomor tujuan 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 dgn perintah 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();
  • 14. } } }).start(); } public void terima(String isi, String no, Date tgl) { //tempat sms 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);
  • 15. 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 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", "Selamat Datang di Fhadil, " + "Mari Belajar Java", null, AlertType.INFO); display.setCurrent(about); } else if (menuList.isSelected(2)) {
  • 16. 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();