Создание дерева меню Java USSD - как - PullRequest
7 голосов
/ 25 мая 2010

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

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

Ответы [ 3 ]

12 голосов
/ 14 июня 2010

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

Я предлагаю:

  1. таблица CURRENTSTATE:
    Сессия #
    Штат

  2. таблица ГОСУДАРСТВА:
    Государство
    Название

  3. Таблица ВЫБОРЫ:
    Государство
    Выбор
    Имя
    DoCode
    NewState

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

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

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

2 голосов
/ 02 августа 2011

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

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

2 голосов
/ 07 марта 2011

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

...