`
xinjiang
  • 浏览: 54612 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

手机发送短信程序

阅读更多

  最近要考试了,复习太无聊了,学习了一会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语言写的手机短信收发程序代码

    用C语言写的手机短信收发程序代码 !!!!!!!!!!!!!!!!!!

    C#开发发送手机短信程序

    这个是vs2008开发的手机短信发送程序,把手机通过数据线、红外线、蓝牙和电脑相连,使手机作为调制解调器,也就是所谓的model,这个可能需要安装一个驱动,不同的手机,操作也不同。 在手机作为model的时候要注意了...

    手机发短信的VB程序

    用VB编程的手机短信发送功能,可以发送短信,也可以显示接受的短信,

    简单的安卓短信发送程序

    老师上课讲的跟着敲的,亲测直接导入可以用

    C#开源开发发送手机短信程序

    这个是vs2008开发的手机短信发送程序,把手机通过数据库、红外线、蓝牙和电脑相连,使手机作为调制解调器,也就是所谓的model,这个可能需要安装一个驱动,不同的手机,操作也不同。 在手机作为model的时候要注意了...

    C#发送手机短信程序示例

    用WINFORM写的程序,可以群发手机短信,B2C网站里嵌入这样的功能很实用

    微信小程序发送短信验证码完整实例

    主要介绍了微信小程序发送短信验证码完整实例,实现发送短信验证码,带60秒倒计时功能,无需服务器端,非常具有实用价值,需要的朋友可以参考下

    ARM平台开发的GPRS发送短信程序

    这是我在ARMs3c2410开发板上,使用BENQ公司的M22 GPRS模块,开发的自动发送短信的C语言程序,其中包含了linux下串口...只要在PC端运行编译后的程序,通过串口连接GPRS,就能实现让GPRS模块发送短信到任何人的手机上!!

    java发送短信程序

    一个java发送手机程序

    发送短信API接口及其例子程序

     这里介绍的是利用清扬短信服务器软件发短信的接口。  清扬短信服务器软件是一个利用了短信猫(Gsm Modem)来收发短信的软件,并支持繁体、日语等多语言短信的发送,在某些环境下,比如:在隔离网络中,似乎是收发短信的...

    J2ME模拟手机写短信程序

    程序载入,出现一个界面,界面上显示:写短信,通讯录,收藏夹,设置,退出程序等选项;选择写短信进入短信编辑界面;选择通讯录列出一些电话号码;选择设置,出现一些带图标的选项,要求至少实现其中一个选项的内容;选择...

    短信猫手机短信发送程序

    c#短信猫测试程序,可以给手机发送报警短信,本代码可以参照嵌入到手机短信报警系统中

    GSM900a发送短信程序

    GSM900a发送短信程序

    在线手机短信发送程序开发

    在线手机短信发送程序开发

    手机短信收发程序供大家学习参考

    手机短信收发程序供大家学习参考 最这也在找一些短信发送接的程序,自己学习了一下,大家可给点意见

    短信发送程序

    pc连接mobile手机发短信的.net程序

    短信发送接收程序

    这是一个手机短信发送接收程序,很值得学习。

    qt发短信打电话程序

    qt发短信打电话程序,配合GSM模块发短信打电话

    C#程序实现手机发短信

    C#实现手机发短信 Q: 为什么我点的下载下不了,但积分却被扣了 A: 由于下载人数众多,下载服务器做了并发的限制。若发现下载不了,请稍后再试,多次下载是不会重复扣分的. Q: 我的积分不多了,如何获取积分? A: 上传...

    ASP发送手机短信(电脑发短信)

    将手机模块通过COM口连接到电脑侯,通过本程序可以直接驱动并发送短信

Global site tag (gtag.js) - Google Analytics