Java USSD菜单树生成 – 如何

我想使用Java生成一个基于树的菜单,该菜单将出现在USSD浏览器上。 每个节点可能有子节点,以叶节点结尾。 我还必须维护访问此菜单的每个用户的状态(如他在菜单上的当前位置)以便于导航。

关于如何实现树木生成和国家管理的任何想法?

我假设您从网关收到消息,例如:(Session#,UserInput),您需要计算下一个要发送给用户的信息吗?

我提议:

  1. 表CURRENTSTATE:
    会议#

  2. 表状态:

    标题

  3. 表格选择:

    选择
    名称
    DoCode
    NewState

然后当你收到消息(Session#,UserInput)时:

  1. 使用Session#查询CURRENTSTATE以确定用户所处的状态。
  2. 使用State和Choice = UserInput查询CHOICES,以根据用户输入确定新状态(和DoCode)。
  3. 基于DoCode,您可以进行一些处理。
  4. 更新CURRENTSTATE以反映新状态。
  5. 查询STATES获取标题(例如“请选择一种颜色”)。
  6. 查询选择以从新状态获得可能的选择(例如(1,“蓝色”),(2,“红色”)等)
  7. 构建消息(concat Title + choices)
  8. 向用户返回消息。

这是解决问题的合理方法吗?

看看这个问题的实现: Vumi.org

源代码可在https://github.com/praekelt/vumi查看

HI,我目前正在开发基于USSD菜单的应用程序。 不幸的是,互联网上关于USSD应用程序的资源很少,我认为这是因为USSD不像SMS那样尚未标准化。 所以每个电信都有自己的ussd实现。 我正在开发的项目需要一个USSD网关(由电信运营)和我的网络服务器(apache)运行我的应用程序。 我的应用程序用php编写的应用程序通过xml为我传达电信USSD网关。 所以我通过xml从USSD gatway获得移动用户输入,并且我还将xml页面发送回USSD服务器,该服务器在用户的移动电话上显示回复。 这是我所知道的一切。