【问题标题】:Simple J2ME SMS code debugging简单的 J2ME 短信代码调试
【发布时间】:2012-03-06 22:26:46
【问题描述】:

我正在尝试开发 J2ME SMS 应用程序(在 Symbian 上,但这并不重要)。
我尝试了最简单的应用程序,它在收到短信时发送短信。
完全基于JSR-205提供的例子:

基类实现 MessageListener。
然后实现以下方法(为简单起见,我省略了所有 try/catch)。

我有两个问题:

  1. 它不起作用
  2. 不知道如何在Netbeans7.1中调试

我对第二个问题的答案特别感兴趣:如何在 Netbeans7.1 中模拟 SMS 接收以便在 notifyIncomingMessage 方法中设置断点?

public class Example extends MIDlet implements MessageListener {

    public void startApp() {
        messconn = (MessageConnection)Connector.open("sms://:6222");
        messconn.setMessageListener(this);
        reader = new Reader();
        new Thread(reader).start();
    }

    public void notifyIncomingMessage(MessageConnection conn) {
        conn = (MessageConnection)Connector.open("sms://+39xxxyyyyyyyy");
        TextMessage msg = (TextMessage)conn.newMessage("Hello");
        conn.send(msg);
    }
}

class Reader implements Runnable {
      public void run() {
          wait();
      }
}

【问题讨论】:

    标签: debugging java-me midp netbeans-7 wma


    【解决方案1】:

    J2ME Wireless Toolkit 2.0 支持 WMA 1.1,允许应用程序开发人员轻松模拟基于 MIDP 2.0 的多个设备模拟器之间发送和接收 SMS 和 CBS 消息。因此您可以使用 J2ME Wireless Toolkit WMA 控制台。
    控制台模拟一个简单的无线消息设备。每个控制台实例 - 您一次可以运行多个控制台 - 在其标题栏中由一个唯一编号标识,称为其电话号码以反映真实设备的工作方式。默认情况下,第一个控制台的编号为 5550000。如果您立即打开第二个控制台,则会为其分配编号 5550001,依此类推。
    要使用控制台,请启动工具包的 Preferences 应用程序,选择 API Availability 选项卡,并确保选中 Wireless Messaging API。现在运行 Utilities 应用程序并在窗口的右侧按下 Open Console 按钮。 (您也可以从 KToolbar 应用程序中的菜单项访问 Preferences and Utilities 应用程序。)
    要从控制台发送消息,请按发送 SMS 或发送 CBS 按钮。生成的对话框有两页,一页用于文本消息,另一页用于二进制消息。 SMS 对话框列出了当前运行的所有控制台和模拟器实例(统称为客户端)的数量。选择所需的客户端,输入要发送消息的端口号,然后键入文本消息或选择要发送的二进制文件,然后按发送按钮。 CBS 对话框稍微简单一些,因为消息将广播给所有已知的客户端 - 提供消息标识符(一个数字)和要发送的文本或文件,然后按“发送”按钮。
    控制台的主窗口列出了它发送和接收的消息。您可以使用两个控制台实例与自己聊天,但让应用程序参与对话会更有趣,这样您就可以验证应用程序是否正确发送和接收消息。

    EDIT1
    在 netbeans 中,您可以从 Tools | 启动 WMA 控制台。 Java 平台 | |工具和扩展 |打开实用程序。请注意,并非所有 SDK 都支持此功能。另一方面,转到您的 J2ME 平台安装目录并搜索一些类似于 utils.exe 的文件,然后双击它。
    EDIT2
    如果你还有问题,你可以试试其他平台。我有sony ericsson sdk 2.5.0.6,在它的安装目录中很容易找到“utils.exe”。
    你可以看到很好的教程和注释参考文献。
    参考资料:
    Mobile P2P messaging, Part 1
    The Wireless Messaging API
    The J2ME Wireless Toolkit WMA Console
    tebyan.net

    【讨论】:

    • 非常感谢您的意见。当我进入Oracle的下载页面时,出现以下语句:“WTK 2.5.2已集成到Java ME SDK 3.0中。欢迎您使用WTK 2.5.2,我们强烈推荐更新的功能丰富的Java ME SDK 3.0。”。然后我下载了 SDK 3.0。现在我不明白如何启动模拟器以管理 SMS 仿真。我认为 SDK 已嵌入 Netbeans,但我不明白如何访问您从 Netbeans 显示的菜单(没有 Edit/Preferences 菜单项)。
    • @Sergio Torassa:我找到了两种查看 wma consol 并将它们添加到我的答案中的方法。
    • :Netbeans7.1好像有bug;打开实用程序被禁用(灰色);我在其他论坛上发现很多帖子抱怨自 6.something 以来该功能不再可用。我在 SDK 目录中也找不到 utils.exe 文件。还有其他提示吗?
    • 我设法在 Netbean7.1 中启用了 Java ME 菜单(在我将它安装到我的 PC 后一段时间,我被要求在 Netbean 中添加 SDK)。但现在我有另一个问题:我无法插入电话号码。为此,我在 Netbean 邮件列表中发布了一个问题。非常感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-29
    • 2012-06-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多