最近要考试了,复习太无聊了,学习了一会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;
}
}
在本人手机上测试成功了。祝各位好运!!!
分享到:
相关推荐
【Android短信发送程序详解】 在Android开发中,创建一个简单的短信发送程序是常见的实践,尤其对于初学者来说,这是理解Android系统服务和权限管理的重要环节。这个程序的实现基于老师的指导,通过实际操作并测试...
【标题】中的“用C语言写的手机短信收发程序代码”表示我们将要探讨的是一个使用C语言编写的软件,该软件具有发送和接收手机短信的功能。C语言是一种基础且广泛使用的编程语言,常用于系统级编程和嵌入式开发,包括...
标题中的“手机发短信的VB程序”指的是使用Visual Basic(VB)编程语言开发的一个应用程序,该程序具有通过GSM(Global System for Mobile Communications,全球移动通信系统)技术发送和接收短信的功能。...
PB发短信程序是一款基于PowerBuilder(PB)开发的短信发送工具。PowerBuilder是Sybase公司推出的一种可视化的、面向对象的编程环境,主要用于快速开发数据库应用程序。本程序的开发者利用PB的强大功能,创建了一个...
【C#发送手机短信程序示例】是一个基于C#编程语言和Windows Forms(WINFORM)开发的应用程序,它主要用于实现批量发送手机短信的功能。在B2C(Business to Consumer)类型的电子商务网站中,这种功能非常实用,可以...
9. **用户界面设计**:虽然这个示例没有明确提及用户界面,但一个实用的短信程序应该有一个简洁易用的UI,允许用户输入短信内容、选择联系人并查看收件箱和发件箱。 10. **数据安全**:考虑到短信可能包含敏感信息...
微信小程序发送短信验证码的完整实例涉及到微信小程序开发的多个方面,包括前端页面设计、事件处理、以及调用后端服务。本实例中利用了微信小程序的前端开发框架和微信提供的API来实现无需服务器端的短信验证码发送...
在“手机短信收发程序”中,关键的类可能是SmsTest,这个类可能包含了发送短信、接收短信、管理短信队列等核心功能。开发者可以调用其提供的接口,如sendSMS()、receiveSMS()等,来实现短信的收发。为了保证程序的...
Java发送短信程序是一种常见的通信技术,它允许应用程序通过网络向移动设备发送文本消息。这个程序通常涉及使用SMS(Short Message Service)服务提供商的API来实现。以下是对这一主题的详细阐述: 1. **Java编程...
这个是vs2008开发的手机短信发送程序,把手机通过数据线、红外线、蓝牙和电脑相连,使手机作为调制解调器,也就是所谓的model,这个可能需要安装一个驱动,不同的手机,操作也不同。 在手机作为model的时候要注意了...
【短信猫手机短信发送程序】是一款基于C#编程语言开发的应用程序,主要用于通过短信猫设备向手机发送报警短信。短信猫是一种硬件设备,它能够连接到计算机并模拟手机功能,从而实现通过电脑来发送和接收短信。在工业...
标题中的“通过手机发送短信的程序”涉及到的是利用编程技术实现电脑通过数据线与手机连接,然后使用PDU编码方式发送中文短信的功能。这主要涵盖了以下几个IT知识点: 1. **移动设备通信接口**:首先,要实现电脑与...
2. 当SMSC向手机发送短信时,手机接收到数据包。 3. 基带处理器解码数据并将其传递给操作系统。 4. 操作系统调用注册的短信服务程序,将接收到的短信内容显示给用户。 在开发手机短信收发程序时,开发者需要关注...
这个是vs2008开发的手机短信发送程序,把手机通过数据库、红外线、蓝牙和电脑相连,使手机作为调制解调器,也就是所谓的model,这个可能需要安装一个驱动,不同的手机,操作也不同。 在手机作为model的时候要注意了...
发短信涉及的主要步骤包括:连接到短信网关、构建短信内容、指定接收方手机号码、调用短信接口发送请求,以及处理返回的响应结果。 【源代码】 源代码是程序员用编程语言编写的原始指令集合,可以被编译器或解释器...
这个程序可以让用户通过手机发送和接收短信,是很多应用的基础功能,例如验证码验证、消息通知等。在本教程中,我们将深入探讨手机短信收发程序的核心技术和实现方法。 首先,我们需要了解短信服务的基本原理。短信...
根据给定的信息,本文将详细解释如何使用C#语言实现手机发送短信的功能,并解析部分代码内容,同时对问题描述中的常见问题进行解答。 ### C#程序实现手机发短信 在现代通讯技术中,通过编程方式发送短信变得越来越...
### Android发送短信程序详解 #### 一、项目创建与配置 根据给定文件中的内容,本文将详细介绍如何在Android环境中创建并实现一个简单的发送短信的应用程序。本例中,我们将创建一个名为`SendMessage`的工程项目,...
标题 "PB实现调用短信平台API发送短信" 描述了一个使用PowerBuilder(PB)9版本或更高版本来调用短信平台API以发送短信的应用场景。这个应用可能是一个软件或插件,可以与其他短信服务平台进行集成,并且具备一定的...
短信服务(Short Message Service,SMS)是GSM网络中的一项基本服务,允许用户通过手机发送和接收简短的文字消息。短信服务的工作流程涉及多个步骤,包括短信中心(SMSC)、短消息实体(SMS-E)和终端设备。在GSM...