Генерация дерева меню Java USSD - как

Я хочу создать древовидное меню с помощью Java, которое будет отображаться в браузере USSD. Каждый узел может иметь потомков, заканчивающихся листовыми узлами. Мне также придется поддерживать состояние каждого пользователя, который получает доступ к этому меню (например, его текущую позицию в меню), чтобы облегчить навигацию.

Любые идеи о том, как я могу добиться генерации дерева и управления состоянием?


person Deepak Marur    schedule 25.05.2010    source источник
comment
Я не понимаю. Должно ли ваше меню отображаться в веб-браузере или в приложении Swing/SWT?   -  person Riduidel    schedule 25.05.2010
comment
Ussd-браузер появляется на мобильном телефоне, когда вы отправляете короткий код, например *123#. В принципе, я не могу использовать какой-либо API для этой цели. Я сам должен поддерживать узлы дерева меню. Но я не могу придумать хороший дизайн.   -  person Deepak Marur    schedule 25.05.2010


Ответы (3)


Я предполагаю, что вы получаете сообщение от шлюза, например: (Session#, UserInput), и вам нужно вычислить следующую информацию для отправки пользователю?

Я предлагаю:

  1. таблица CURRENTSTATE:
    Сеанс №
    Состояние

  2. таблица STATES:
    состояние
    название

  3. ВЫБОР таблицы:
    Состояние
    Выбор
    Имя
    DoCode
    NewState

Затем, когда вы получите сообщение (Session#, UserInput):

  1. запросите CURRENTSTATE, используя Session#, чтобы определить, в каком состоянии находится пользователь.
  2. запросите CHOICES, используя State и Choice=UserInput, чтобы определить новое состояние (и DoCode) на основе пользовательского ввода.
  3. На основе DoCode можно выполнить некоторую обработку.
  4. обновите CURRENTSTATE, чтобы отразить новое состояние.
  5. запросите СОСТОЯНИЯ, чтобы получить заголовок (например, «Выберите цвет»).
  6. запросить ВЫБОР, чтобы получить возможные варианты из нового состояния (например, (1, «Синий»), (2, «Красный») и т. д.)
  7. построить сообщение (заголовок concat + варианты)
  8. вернуть сообщение пользователю.

Это разумный способ решить проблему?

person Albert    schedule 14.06.2010
comment
Спасибо за ответ. Собственно мое требование. Кажется, это рабочая идея. - person Deepak Marur; 15.06.2010
comment
Рад, что смог помочь. Не стесняйтесь голосовать за мой ответ, если вы считаете, что он решил проблему. - person Albert; 15.06.2010
comment
Это лучшее решение, с которым я столкнулся для проблемы. +1 за объяснение. :) - person Fawzan; 22.02.2014

Привет, я также в настоящее время разрабатываю приложение на основе меню USSD. К сожалению, в Интернете мало ресурсов о приложениях USSD, и я думаю, это потому, что USSD, в отличие от SMS, еще не стандартизирован. поэтому у каждого телекома есть своя реализация ussd. Для проекта, над которым я работаю, требуется USSD-шлюз (управляемый телекомом) и мой веб-сервер (apache), на котором работает мое приложение. мое приложение, написанное на php, к счастью для меня, связывается с USSD-шлюзом телекоммуникаций через xml. поэтому я получаю данные мобильного пользователя от USSD-шлюза через xml, а также отправляю xml-страницы обратно на USSD-сервер, который, в свою очередь, отображает ответ на мобильном телефоне пользователя. это все, что я знаю.

person David Okwii    schedule 07.03.2011

Посмотрите на реализацию этой задачи: Vumi.org

Исходный код доступен по адресу https://github.com/praekelt/vumi.

person David d C e Freitas    schedule 02.08.2011