Простая отладка SMS-кода J2ME - PullRequest
1 голос
/ 05 марта 2012

Я пытаюсь разработать приложения SMS для J2ME (на Symbian, но это не важно).
Я пытался с самым простым приложением, которое отправляет SMS при получении одного.
Оно полностью основано на примерепредоставляемый JSR-205:

Базовый класс сделан реализующим MessageListener.
Затем реализуются следующие методы (я упустил все try / catch для простоты).

У меня есть двапроблемы:

  1. это не работает
  2. Я не знаю, как отладить его в Netbeans7.1

В частности, мне интереснов ответе на второй вопрос: как мне эмулировать прием SMS в Netbeans7.1, чтобы установить точку останова в методе 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();
      }
}

1 Ответ

1 голос
/ 06 марта 2012

J2ME Wireless Toolkit 2.0 поддерживает WMA 1.1, что позволяет разработчикам приложений легко эмулировать отправку и получение сообщений SMS и CBS между несколькими эмуляторами устройств на основе MIDP 2.0. Так что вы можете использовать консоль WMA Wireless Toolkit J2ME.
Консоль эмулирует простое беспроводное устройство обмена сообщениями. Каждый экземпляр консоли - вы можете запустить более одной консоли одновременно - в строке заголовка идентифицируется уникальным номером, называемым номером телефона, чтобы отразить, как работает реальное устройство. Первой консоли по умолчанию присвоен номер 5550000. Если вы сразу же откроете вторую консоль, ей будет присвоен номер 5550001 и т. Д.
Чтобы использовать консоль, запустите приложение «Предпочтения» инструментария, выберите вкладку «Доступность API» и убедитесь, что установлен флажок «Беспроводной обмен сообщениями API». Теперь запустите приложение Utilities и в правой части окна нажмите кнопку Open Console. (Вы также можете получить доступ к приложениям Preferences и Utilities из пунктов меню в приложении KToolbar.)
Чтобы отправить сообщение с консоли, нажмите кнопку «Отправить SMS» или «Отправить CBS». Результирующий диалог имеет две страницы, одну для текстовых сообщений и одну для двоичных сообщений. В диалоговом окне SMS перечислены номера всех запущенных в настоящий момент экземпляров консоли и эмулятора (совместно именуемых клиентами). Выберите желаемых клиентов, введите номер порта, на который должно быть отправлено сообщение, и либо введите текстовое сообщение, либо выберите двоичный файл, который вы хотите отправить, затем нажмите кнопку Отправить. Диалог CBS немного проще, поскольку сообщение будет передаваться всем известным клиентам - укажите идентификатор сообщения (номер) и текст или файл для отправки и нажмите кнопку Отправить.
В главном окне консоли перечислены сообщения, которые она отправляет и получает. Вы можете использовать два экземпляра консоли, чтобы общаться с самим собой, но гораздо интереснее привлечь приложение к беседе, чтобы вы могли проверить, правильно ли приложение отправляет и получает сообщения.
enter image description here

EDIT1
В NetBeans вы можете запустить консоль WMA из Tools | Платформа Java | | Инструменты и Расширения | Открытые Утилиты. Обратите внимание, что не все SDK поддерживают это. С другой стороны, перейдите в каталог, в котором установлена ​​платформа J2ME, и найдите некоторые файлы, похожие на utils.exe, затем дважды щелкните по нему.
EDIT2
Если у вас еще есть проблемы, вы можете попробовать другие платформы. У меня есть sony ericsson sdk 2.5.0.6, и его легко найти "utils.exe" в установленном каталоге.
Хорошие учебники и заметки можно найти в справочниках.
Ссылки:
Мобильные сообщения P2P, часть 1
API беспроводных сообщений
Консоль WMA J2ME Wireless Toolkit
tebyan.net

...