`
wanchong998
  • 浏览: 236070 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

J2ME 发短信 实例

    博客分类:
  • J2me
阅读更多
package com.wanchong.duanxin;

import javax.microedition.io.Connector;
import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.AlertType;
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.TextField;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
import javax.wireless.messaging.Message;
import javax.wireless.messaging.MessageConnection;
import javax.wireless.messaging.TextMessage;

public class MainMidlet extends MIDlet implements CommandListener
{
     private Display dis;
     private Command send;
     private String serverPort;
     private Form f;
     private TextField tf1, tf2;
     private boolean done;
     private MessageConnection sconn;
     public MainMidlet()
     {
         super();
         dis = Display.getDisplay(this);
         f = new Form("短信发送测试");
         send = new Command("发送", Command.OK, 0);
         tf1 = new TextField("电话:", null, 255, TextField.PHONENUMBER);
         tf2 = new TextField("内容:", null, 255, TextField.ANY);
         f.append(tf1);
         f.append(tf2);
         f.addCommand(send);
         f.setCommandListener(this);
         dis.setCurrent(f);
         serverPort = "5000";
     }
     protected void startApp() throws MIDletStateChangeException
     {
         try
         {
             sconn = (MessageConnection) Connector.open("sms://:" + serverPort);
             done = false;
             new Thread(new SMSServer()).start();
         } catch (Exception e)
         {
             System.out.print("Error in start\n");
             e.printStackTrace();
         }
     }
     protected void pauseApp()
     {
         done = true;
         try
         {
             sconn.close();
         }
         catch (Exception e)
         {
             System.out.print("Error in pause");
             e.printStackTrace();
         }
     }
     protected void destroyApp(boolean arg0) throws MIDletStateChangeException
     {
         done = true;
         try
         {
             sconn.close();
         }
         catch (Exception e)
         {
             System.out.print("Error in pause");
             e.printStackTrace();
         }
     }
     public void commandAction(Command c, Displayable d)
     {
         if (c == send)
         {
             try
             {
                 Thread Send2Thread = new Thread()
                 {
                     public void run()
                     {
                         System.out.println("Try send2Command.....");
                         try
                         {
                             String addr = "sms://" + tf1.getString();
                             System.out.println("发送地址为:" + addr);
                             TextMessage msg = (TextMessage) sconn.newMessage(MessageConnection.TEXT_MESSAGE);
                             msg.setAddress(addr);
                             msg.setPayloadText(tf2.getString());
                             sconn.send(msg);
                         }
                         catch (Exception exc)
                         {
                             exc.printStackTrace();
                         }
                     }
                 };
                 Send2Thread.start();
             }
             catch (Exception e)
             {
                 System.out.println("Error in sending");
                 e.printStackTrace();
             }
         }
     }
     class SMSServer implements Runnable
     {
         public void run()
         {
             try
             {
                 while (!done)
                 {
                     Message msg = sconn.receive();
                     if (msg instanceof TextMessage)
                      {
                         TextMessage tmsg = (TextMessage) msg;
                         String msgText = tmsg.getPayloadText();
                         // Construct the return message
                         TextMessage rmsg = (TextMessage) sconn
                                 .newMessage(MessageConnection.TEXT_MESSAGE);
                         rmsg.setAddress(tmsg.getAddress());
                         rmsg.setPayloadText("Message " + msgText
                                 + " is received");
                         sconn.send(rmsg);
                         Alert alert = new Alert("Received", msgText, null,
                                 AlertType.ERROR);
                         alert.setTimeout(Alert.FOREVER);
                         dis.setCurrent(alert);
                     }
                     else
                     {
                         throw new Exception("Received is not a text mesg");
                     }
                 }
             }
             catch (Exception e)
             {
                 System.out.println("Error in server receiving");
                 e.printStackTrace();
             }
         }
     }
}
分享到:
评论

相关推荐

    J2ME程序设计实例

    通过J2ME的WMA(Wireless Messaging API)或者MIDP(Mobile Information Device Profile)的javamail组件,开发者可以实现发送和接收短信。这涉及到创建SMS消息对象,设置目的地地址,以及使用适当的连接管理器发送...

    J2me 发短信完整代码

    标题“J2me 发短信完整代码”指的是一个 J2ME 应用程序,其核心功能是允许用户通过手机发送短信。这样的功能在早期的智能手机中尤其常见,因为那时大多数手机操作系统支持 J2ME 应用。 描述中提到,“网上有许多...

    j2me应用小实例j2me_pro

    J2ME提供了JSR-82(Java Bluetooth API)和JSR-118(Java Wireless Messaging API)等接口,支持蓝牙通信和短信服务。开发者可以通过HttpConnection类实现HTTP协议的网络通信,进行数据的上传和下载。 5. **数据...

    SUN公司的一些J2ME简单游戏实例

    《SUN公司J2ME简单游戏实例:探索移动平台的游戏开发》 J2ME,全称为Java 2 Micro Edition,是Java技术在嵌入式设备和移动设备上的应用平台,尤其在早期智能手机和平板电脑中广泛应用。SUN公司,即现在的Oracle公司...

    J2ME SMS 收发短信例子的源代码

    在J2ME中,发送和接收SMS(Short Message Service,短信)是常见的功能,特别是在开发通讯或消息传递应用时。本篇文章将深入探讨如何利用J2ME实现短信的收发功能,并基于提供的源代码进行分析。 首先,我们需要了解...

    j2me手机上的短信开发实例.

    本实例聚焦于J2ME平台上的短信服务开发,对于想要学习如何在手机上实现短信功能的开发者来说,具有很高的学习价值。 短信开发是移动应用开发的一个关键部分,特别是在功能手机时代,许多功能依赖于短信服务进行数据...

    j2me 手机短信编程(sms),经典

    j2me 手机短信编程(sms),经典 适合编程各个阶段的人学习,一定很有帮助

    用J2ME接收、发送SMS短信的实例源代码

    在本文中,我们将深入探讨如何使用J2ME来实现SMS短信的接收和发送功能,并基于提供的实例源代码进行学习。 首先,要理解J2ME中的SMS通信,我们需要了解两个关键概念:PDU(Protocol Data Unit)和AT命令。PDU是SMS...

    基于j2me的收发短信程序

    "基于j2me的收发短信程序"是这样一个利用J2ME技术实现的手机应用,主要用于发送和接收短信。 J2ME由配置(Configurations)和 profiles(配置文件)组成,其中Mobile Information Device Profile (MIDP) 和 ...

    j2me手机发送短信 接收短信

    文件名“lilaoshi”可能是个人名字或者课程名称,但由于没有具体文件内容,无法进一步分析这个文件与J2ME短信发送和接收的关联。如果有详细资料,可以提供更深入的学习指导。 总结,J2ME项目中实现手机发送和接收...

    J2ME 框架 简单的短信发送界面

    "J2ME框架简单的短信发送界面"是一个很好的起点,它让初学者能够深入理解J2ME的用户界面构建、事件处理、API使用以及设备权限管理等方面的知识。通过这个项目,开发者可以锻炼到实际的编程技巧,并逐步掌握移动应用...

    一个基于ECLIPSE的J2ME模拟手机发信息源码

    【标题解析】 "一个基于ECLIPSE的J2ME模拟手机发信息源码"这一标题揭示了我们要探讨的核心内容。它指出这是一个利用Eclipse集成...同时,对于有经验的开发者来说,也是一个回顾和深入理解J2ME短信发送机制的好材料。

    j2me开发教程全集

    本教程可能包含了上述知识点的详细解释、实例代码和注意事项,对于初学者来说,能够全面了解J2ME开发的基本流程和技术要点。通过深入学习和实践,开发者将能构建出适应各种嵌入式和移动设备的高效应用程序。

    java-compcation.rar_J2ME 源码_j2me_手机移动通信_移动通信

    本资料“java-compcation.rar”提供了一个J2ME(Java 2 Micro Edition)的实例,主要关注于手机移动通信的编程。 J2ME由几个配置和 profiles 组成,这些定义了不同设备的特性和功能。其中,Mobile Information ...

    SendSMS.zip_SendSms_j2me_j2me sms_send sms a_sms using java

    在J2ME(Java 2 Micro Edition)平台上发送短信是移动开发中常见的一项功能,尤其对于那些需要在小型设备上实现通信的应用来说。标题“SendSMS.zip_SendSms_j2me_j2me sms_send sms a_sms using java”暗示了这个...

    MIDletOne.rar_j2me

    《深入浅出J2ME:基于“MIDletOne.rar”的程序实例解析》 J2ME,全称为Java 2 Micro Edition,是Java平台的一种特殊版本,专为资源有限的移动设备,如手机、PDA等设计。它提供了一套灵活的框架,使得开发者能够创建...

    J2ME文件浏览器(MIDP版本)

    总之,"J2ME文件浏览器(MIDP版本)"是一个展示J2ME开发能力的实例,它克服了移动设备的硬件限制,提供了便捷的文件管理功能。通过这个项目,开发者可以深入理解J2ME编程,包括用户界面设计、文件系统操作和设备适配...

    J2ME移动开发源代码

    4. **网络通信**:J2ME的`javax.wireless.messaging`包提供了短信(SMS)和彩信(MMS)功能,`javax.microedition.io`包支持HTTP和TCP/IP通信,可用于数据交换。 5. **数据存储**:`RecordStore`类允许在设备上保存...

Global site tag (gtag.js) - Google Analytics