Quan trọng nhất của điện thoại là gọi điện và gửi tin nhắn, chắc các bạn cũng biết các phần mềm kinh tế thường sử dụng sms như là hệ thống giao dịch giữa nhà cung cấp và người dùng. Bài này sẽ giới thiệuvề cách tạo một tin nhắn và gửi nó đi như thế nào thông qua j2me:
Các class cần import:
Java.io.*;
Javax.wireless.message.*;
Tạo một kết nối tin nhắn mới:
MessageConnection mc=(MessageConnection) Connector.open("sms://" number ":" port);
Trong đó number tất nhiên là số, port là cổng vào của tin nhắn(nếu để trống sẽ sử dụng cổng default)
Sau khi tạo một kết nối sms, ta tạo một tin nhắn, có 2 loại TextMassage và BinaryMassage:
TextMessage tm=(Message) mc.newMessage(MessageConnection.TEXT_MESSAGE,[address]);
BinaryMessage bm=(Message) mc.newMessage(MessageConnection.BINARY_MESSAGE,[address]);
Trong đó phần địa chỉ có thể có hoặc không, bởi vì ta sẽ có:
tm.setAddress(“sms://" number ":" port);
bm.setAddress("sms://" number ":" port);
dùng để chỉ định địa chỉ gửi tin nhắn và
tm.setPayloadText("nội dung tin nhắn");
để chỉ định nôi dung tin nhắn văn bản
bm.setPayloadData("nội dung tin nhắn".getBytes());
để chỉ định nội dung tin nhắn binary
công việc cuối cùng là gọi lệnh gửi tin nhắn,
mc.send(tm); hoặc mc.send(bm);
• Một số lệnh và function khác:
mc.receive() phát hiện nếu có một tin nhắn đầu vào ở kết nối tin nhắn đang khởi tạo
tm.getPayloadText() nhận về nội dung tin nhắn văn bản
bm.getPayloadData() nhận về nội dung tin nhắn
binary (byte[]) (Message)x instanceof TextMessage xác định xem có phải là tin nhắn văn bản không (Boolean)
• Kiểu thực thi MessageListener, như chúng ta đã làm quen với các kiểu thực thi khác, kiểu thực thi MessageListener cũng tượng tự, dùng để phát hiện tin nhắn đầu vào:
Lệnh :
mc.setMessageListener(this);
public void notifyIncomingMessage(MessageConnection mc){}
Vd:
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;
import java.io.*;
import javax.microedition.io.*;
import javax.wireless.messaging.*;
public class sms extends MIDlet implements Runnable,CommandListener{
Form f=new Form("send sms");
Command send=new Command("send",Command.OK,2);
public sms(){
f.append("an send de gui tin nhan toi 900");
f.addCommand(send);
f.setCommandListener(this);
Display.getDisplay(this).setCurrent(f);
}
public void startApp(){}
public void pauseApp(){}
public void destroyApp(boolean unconditional){
notifyDestroyed();
}
public void commandAction(Command c,Displayable d){
if(c==send){
Thread t=new Thread(this);
t.start();
}
}
public void run(){
try{
MessageConnection mc=(MessageConnection) Connector.open("sms://900");
TextMessage tm=(TextMessage) mc.newMessage(MessageConnection.TEXT_MESSAGE);
tm.setAddress("sms://900");
tm.setPayloadText("ko sao het");
mc.send(tm);
}catch(Exception e){}
}
}
Nguồn:
Gió