Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Debugging 简单的J2ME短信代码调试_Debugging_Java Me_Midp_Netbeans 7_Wma - Fatal编程技术网

Debugging 简单的J2ME短信代码调试

Debugging 简单的J2ME短信代码调试,debugging,java-me,midp,netbeans-7,wma,Debugging,Java Me,Midp,Netbeans 7,Wma,我正在尝试开发J2ME SMS应用程序(在Symbian上,但这并不重要)。 我尝试了一个最简单的应用程序,它在收到短信时发送短信。 它完全基于JSR-205提供的示例: 基类实现了MessageListener。 然后实现以下方法(为了简单起见,我省略了所有try/catch) 我有两个问题: 它不起作用 我不知道如何在Netbeans7.1中调试它 我特别感兴趣的是第二个问题的答案:如何在Netbeans7.1中模拟SMS接收,以便在notifyIncomingMessage方法中设置断点

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

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

我有两个问题:

  • 它不起作用
  • 我不知道如何在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();
          }
    }
    

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

    EDIT1
    在netbeans中,您可以从工具| Java平台| |工具与扩展|开放实用程序启动WMA控制台。请注意,并非所有SDK都支持此功能。另一方面,请转到您的J2ME平台安装目录,搜索一些类似于utils.exe的文件,然后双击它。
    EDIT2
    如果您还有问题,可以尝试其他平台。我有索尼爱立信sdk 2.5.0.6,在其安装目录中很容易找到“utils.exe”。
    您可以在参考资料中看到好的教程和注释。
    参考文献:




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

    EDIT1
    在netbeans中,您可以从工具| Java平台| |工具与扩展|开放实用程序启动WMA控制台。请注意,并非所有SDK都支持此功能。另一方面,请转到您的J2ME平台安装目录,搜索一些类似于utils.exe的文件,然后双击它。
    EDIT2
    如果您还有问题,可以尝试其他平台。我有索尼爱立信sdk 2.5.0.6,在其安装目录中很容易找到“utils.exe”。
    您可以在参考资料中看到好的教程和注释。
    参考文献:




    非常感谢您的投入。当我进入Oracle的下载页面时,