文章导航PC6首页软件下载单机游戏安卓资源苹果资源

pc软件新闻网络操作系统办公工具编程服务器软件评测

安卓新闻资讯应用教程刷机教程安卓游戏攻略tv资讯深度阅读综合安卓评测

苹果ios资讯苹果手机越狱备份教程美化教程ios软件教程mac教程

单机游戏角色扮演即时战略动作射击棋牌游戏体育竞技模拟经营其它游戏游戏工具

网游cf活动dnf活动lol周免英雄lol礼包

手游最新动态手游评测手游活动新游预告手游问答

您的位置:首页技术开发JSP 学院 → Java短信发送机的实现

Java短信发送机的实现

时间:2009/11/18 10:50:00来源:本站整理作者:我要评论(0)

今天早上回来就产生了一个想法,不如用j2me实现一个短信发送机的程序,然后只需要填入几个数字就可以实现短信的自动发送等。
经过大概2个小时的奋斗,终于写好了,并且在多部不同品牌的机器运行良好,而且很实用,不过可以有些手机需要数字签名,否则的话,会不停的提示你。郁闷,不过索爱跟三星就可以设置。

/********************************************************************
 * 项目名称 :j2me学习

 *
 * Copyright 2005-2006 Wuhua. All rights reserved
 ********************************************************************/
package org.fox.sms;

import java.io.IOException;

import javax.microedition.io.Connector;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.TextField;
import javax.wireless.messaging.MessageConnection;
import javax.wireless.messaging.TextMessage;

/**
 * 类名:SMSForm.java

 * 编写日期: 2007-5-25

 * 程序功能描述:

 * Demo:

 * Bug:

 *
 * 程序变更日期 :

 * 变更作者 :

 * 变更说明 :

 *
 * @author wuhua
rrq12345@163.com
 */
public class SMSForm extends Form
implements CommandListener, Runnable{

    Command send = new Command("发送", Command.OK, 1);
    Command back = new Command("返回", Command.BACK, Command.BACK);
    TextField phone;
    TextField content;
    TextField num;
    TextField timeOut;
    TextField text;
    String serverPort = "5000";// getAppProperty("serverPort");
    int sms;

    Menu menu;
    public SMSForm(Menu m) {
        super("短信发送机");

        setCommandListener(this);
        text = new TextField("状态", "等待发送短信", 20, TextField.ANY);
        phone = new TextField("号码", "xxxxxx:", 20, TextField.NUMERIC);
        content = new TextField("指令", "777", 10, TextField.NUMERIC);
        num = new TextField("条数", "23", 10, TextField.NUMERIC);
        timeOut = new TextField("时间格", "10", 10, TextField.NUMERIC);
        this.append(phone);
        this.append(content);
        this.append(num);
        this.append(timeOut);
        this.append(text);
        this.addCommand(send);
        this.addCommand(back);
        this.menu = m;

    }

    public void commandAction(Command c, Displayable arg1) {
        if(c == send){
            new Thread(this).start();
            this.removeCommand(send);
        }else{
            SMSSenderMIDlet.display.setCurrent(menu);
        }

    }

    public void run() {
        int num = Integer.parseInt(this.num.getString());
        int sleep = Integer.parseInt(this.timeOut.getString());
        while(true){
//            System.out.println(sleep);
            if(sms < num){
                senderImpl();
            }
            else{

                SMSSenderMIDlet.display.setCurrent(menu);
                break;
            }
            try {
//                System.out.println(sleep);
                Thread.sleep(sleep*1000);
//                System.out.println(sleep);
            } catch (InterruptedException e) {
                e.printStackTrace();
            }

        }


    }

    private void senderImpl() {
        String addr = "sms://" + phone.getString();
        System.out.println("发送地址为:" + addr);
        MessageConnection conn;
        try {
            conn = (MessageConnection) Connector.open(addr);
            TextMessage msg = (TextMessage) conn
            .newMessage(MessageConnection.TEXT_MESSAGE);
            msg.setPayloadText(content.getString());
            conn.send(msg);
            conn.close();
            sms++;
//            text = sms+"";
            text.setString("成功发送" +this.num.getString() + "第" + sms + "条");

        } catch (IOException e) {
//            TODO 自动生成 catch 块
            e.printStackTrace();
        }
    }

}

 

/********************************************************************
 * 项目名称 :j2me学习

 *
 * Copyright 2005-2006 Wuhua. All rights reserved
 ********************************************************************/
package org.fox.sms;

import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.List;

/**
 * 类名:Menu.java

 * 编写日期: 2007-5-25

 * 程序功能描述:

 * Demo:

 * Bug:

 *
 * 程序变更日期 :

 * 变更作者 :

 * 变更说明 :

 *
 * @author wuhua
rrq12345@163.com
 */
public class Menu extends List implements CommandListener{

    Command send = new Command("打开发送机", Command.OK, 1);
    public Menu(String title, int listType) {
        super(title, listType);

        this.append("打开发送机", null);
        this.addCommand(send);
        this.setCommandListener(this);
    }

    public void commandAction(Command c, Displayable d) {
        System.out.println("dfsdfsd");
        if(c == send){
            SMSSenderMIDlet.display.setCurrent(new SMSForm(this));
        }else{

        }
    }

}


/********************************************************************
 * 项目名称 :j2me学习

 *
 * Copyright 2005-2006 Wuhua. All rights reserved
 ********************************************************************/
package org.fox.sms;

import java.io.IOException;

import javax.microedition.io.Connector;
import javax.microedition.lcdui.Choice;
import javax.microedition.lcdui.Display;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.wireless.messaging.MessageConnection;

/**
 * 类名:SMSSenderMIDlet.java

 * 编写日期: 2007-5-25

 * 程序功能描述:

 * Demo:

 * Bug:

 *
 * 程序变更日期 :

 * 变更作者 :

 * 变更说明 :

 *
 * @author wuhua
rrq12345@163.com
 */
public class SMSSenderMIDlet extends MIDlet {
    private MessageConnection sconn;

    public static Display display;
    public SMSSenderMIDlet() {


    }

    protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
        try {
            sconn.close();
        } catch (IOException e) {
//            TODO 自动生成 catch 块
            e.printStackTrace();
        }

    }

    protected void pauseApp() {


    }

    protected void startApp() throws MIDletStateChangeException {
        String serverPort = "5000";
        try {
            sconn = (MessageConnection) Connector.open("sms://:" + serverPort);
        } catch (IOException e) {

            e.printStackTrace();
        }

        Menu m = new Menu("短信发送机",Choice.IMPLICIT);
        display = Display.getDisplay(this);
        display.setCurrent(m);

    }

}

 

 

相关视频

    没有数据

相关阅读 java.lang.NullPointerException错误处理方法及原因分析java环境变量配置方法Flex与Java通信教程java开发环境搭建方法介绍java开发软件myeclipse的快捷键和myeclipse快捷键设置win7中java环境变量设置及java编程工具安装java state 状态设计模式asp下面javascript上传图片限制格式大小方法

文章评论
发表评论

热门文章 没有查询到任何记录。

最新文章 Java中Servlet获得异步 Java中Servlet获得异步支持java递归实现文件的删除和拷贝innerHTML怎样失焦判断FreeMarker和Jsp的应用范围

人气排行 java如何远程登录linux并执行其命令教你用jsp写反弹的shellFreeMarker和Jsp的应用范围Java 7关于#的用法jsp统计在线人数代码Java短信发送机的实现如何用java连接数据库方法Java中Servlet获得异步支持