最近要考试了,复习太无聊了,学习了一会J2ME,感觉比J2SE简单的多了,一直以来我多没有很好的解决界面问题(很不爽呀)。学了一会儿J2ME,感觉很简单,乘热打铁写了一个发送短信的小程序,还有几个问题没有解决(复制,粘贴, 从电话薄中导入联系人)。有兴趣的人可以自己写(查看一下手机厂商提供的API就能解决了)。下面是代码:
欢迎界面:
package com.ui;
import java.io.IOException;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.ImageItem;
import javax.microedition.lcdui.Item;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class Welcome extends MIDlet implements CommandListener{
/******************************************************/
/* 欢迎界面 */
/******************************************************/
private Display display;
private Form form = new Form("");
private Command cmdNextPage;
private Command cmdExit;
private Image image;
private ImageItem welcomItem;
public Welcome() {
try {
image = Image.createImage("/rss.png");
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
welcomItem = new ImageItem("欢迎使用本程序", image, Item.LAYOUT_CENTER, "");
cmdExit = new Command("退出", Command.EXIT, 1);
cmdNextPage = new Command("继续", Command.SCREEN, 1);
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
}
protected void pauseApp() {
}
protected void startApp() throws MIDletStateChangeException {
display = Display.getDisplay(this);
display.setCurrent(form);
form.addCommand(cmdExit);
form.addCommand(cmdNextPage);
form.setCommandListener(this);
form.append(welcomItem);
}
public void commandAction(Command cmd, Displayable dis) {
if(cmd == cmdExit) {
this.notifyDestroyed();
}else if(cmd == cmdNextPage) {
WriteMsg writemsg = new WriteMsg("写信息");
display.setCurrent(writemsg);
}
}
}
写短信界面:
package com.ui;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.Item;
import javax.microedition.lcdui.ItemCommandListener;
import javax.microedition.lcdui.TextField;
import com.classes.*;
public class WriteMsg extends Form implements ItemCommandListener, CommandListener {
/*****************************************************************/
/* 编辑短信 */
/*****************************************************************/
private Command cmdDel; // 删除单个字符
private Command cmdSend; // 发送
private Command cmdInsertLinkMan; // 增加联系人
private Command cmdCopy; // 自由复制
private Command cmdPaste; // 粘贴
private Command cmdExit; // 退出
private TextField tel; //电话号码输入框
private TextField text; //短信内容输入框
public WriteMsg(String title) {
super(title);
this.setCommandListener(this);
cmdDel = new Command("删除", Command.CANCEL, 1);
cmdSend = new Command("发送", Command.SCREEN, 1);
this.addCommand(cmdSend);
cmdInsertLinkMan = new Command("增加联系人", Command.SCREEN, 1);
this.addCommand(cmdInsertLinkMan);
cmdCopy = new Command("复制", Command.SCREEN, 1);
this.addCommand(cmdCopy);
cmdPaste = new Command("粘贴", Command.SCREEN, 1);
this.addCommand(cmdPaste);
cmdExit = new Command("退出", Command.SCREEN, 1);
this.addCommand(cmdExit);
tel = new TextField("收件人", "", 15, TextField.PHONENUMBER);
tel.addCommand(cmdDel);
tel.setItemCommandListener(this);
this.append(tel);
text = new TextField("", "", 300, TextField.ANY);
text.setLayout(Item.LAYOUT_2);
text.addCommand(cmdDel);
text.setItemCommandListener(this);
this.append(text);
}
public void commandAction(Command cmd, Displayable dis) {
if(cmd == cmdSend) {
SendMsg sendMsg = new SendMsg(text.getString());
if(sendMsg.sendMsg(tel.getString())) {
System.out.println("发送成功");
}else {
System.out.println("发送失败");
}
}else if(cmd == cmdInsertLinkMan) {
}else if(cmd == cmdCopy) {
}else if(cmd == cmdPaste) {
}else if(cmd == cmdExit) {
System.exit(0);
}
}
public void commandAction(Command cmd, Item item) {
if(item == tel) {
int offset = tel.getCaretPosition();
if(offset >= 1) {
tel.delete(offset-1, 1);
}
}else if(item == text) {
int offset = text.getCaretPosition();
if(offset >= 1) {
text.delete(offset-1, 1);
}
}
}
}
发送短信的类:
package com.classes;
import java.io.IOException;
import javax.microedition.io.Connector;
import javax.wireless.messaging.MessageConnection;
import javax.wireless.messaging.TextMessage;
public class SendMsg {
private String content; //短信内容
public SendMsg(String content) {
this.content = content;
}
public boolean sendMsg(String tel) {
boolean boo = false;
String address = "sms://"+tel; //目标地址
MessageConnection conn = null;
try {
conn = (MessageConnection) Connector.open(address); //连接这个address端口,也就是目标地址
TextMessage msg = (TextMessage) conn
.newMessage(MessageConnection.TEXT_MESSAGE); //创建一个要被发送的消息实例
msg.setPayloadText(content); //设置信息内容
conn.send(msg); //发送短信
boo = true; //发送成功
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return boo;
}
}
在本人手机上测试成功了。祝各位好运!!!
分享到:
相关推荐
用C语言写的手机短信收发程序代码 !!!!!!!!!!!!!!!!!!
这个是vs2008开发的手机短信发送程序,把手机通过数据线、红外线、蓝牙和电脑相连,使手机作为调制解调器,也就是所谓的model,这个可能需要安装一个驱动,不同的手机,操作也不同。 在手机作为model的时候要注意了...
用VB编程的手机短信发送功能,可以发送短信,也可以显示接受的短信,
老师上课讲的跟着敲的,亲测直接导入可以用
这个是vs2008开发的手机短信发送程序,把手机通过数据库、红外线、蓝牙和电脑相连,使手机作为调制解调器,也就是所谓的model,这个可能需要安装一个驱动,不同的手机,操作也不同。 在手机作为model的时候要注意了...
用WINFORM写的程序,可以群发手机短信,B2C网站里嵌入这样的功能很实用
主要介绍了微信小程序发送短信验证码完整实例,实现发送短信验证码,带60秒倒计时功能,无需服务器端,非常具有实用价值,需要的朋友可以参考下
这是我在ARMs3c2410开发板上,使用BENQ公司的M22 GPRS模块,开发的自动发送短信的C语言程序,其中包含了linux下串口...只要在PC端运行编译后的程序,通过串口连接GPRS,就能实现让GPRS模块发送短信到任何人的手机上!!
一个java发送手机程序
这里介绍的是利用清扬短信服务器软件发短信的接口。 清扬短信服务器软件是一个利用了短信猫(Gsm Modem)来收发短信的软件,并支持繁体、日语等多语言短信的发送,在某些环境下,比如:在隔离网络中,似乎是收发短信的...
程序载入,出现一个界面,界面上显示:写短信,通讯录,收藏夹,设置,退出程序等选项;选择写短信进入短信编辑界面;选择通讯录列出一些电话号码;选择设置,出现一些带图标的选项,要求至少实现其中一个选项的内容;选择...
c#短信猫测试程序,可以给手机发送报警短信,本代码可以参照嵌入到手机短信报警系统中
GSM900a发送短信程序
在线手机短信发送程序开发
手机短信收发程序供大家学习参考 最这也在找一些短信发送接的程序,自己学习了一下,大家可给点意见
pc连接mobile手机发短信的.net程序
这是一个手机短信发送接收程序,很值得学习。
qt发短信打电话程序,配合GSM模块发短信打电话
C#实现手机发短信 Q: 为什么我点的下载下不了,但积分却被扣了 A: 由于下载人数众多,下载服务器做了并发的限制。若发现下载不了,请稍后再试,多次下载是不会重复扣分的. Q: 我的积分不多了,如何获取积分? A: 上传...
将手机模块通过COM口连接到电脑侯,通过本程序可以直接驱动并发送短信