2010-05-25 17 views
5

Voglio generare un menu basato su albero utilizzando Java che apparirà su un browser USSD. Ogni nodo può avere figli, che termina con i nodi foglia. Dovrò anche mantenere lo stato relativo a ciascun utente che accede a questo menu (come la sua posizione corrente nel menu) per facilitare la navigazione.Generazione albero menu USSD Java - come

Qualche idea su come posso raggiungere la generazione di alberi e la gestione dello stato?

+0

Non capisco. Il tuo menu è visualizzato su un browser web o su un'applicazione Swing/SWT? – Riduidel

+0

Il browser ussd viene visualizzato sul telefono cellulare quando si invia un codice breve come * 123 #. Fondamentalmente, non posso usare alcuna api per questo scopo. Io stesso devo mantenere i nodi dell'albero del menu. Ma non riesco a trovare un buon design. –

risposta

8

Presumo che si ottenga un messaggio dal gateway come ad esempio: (n. Di sessione, UserInput) ed è necessario calcolare le informazioni successive da inviare all'utente?

propongo:

  1. tavolo CurrentState:
    Session #
    Stato

  2. tabella STATES:
    Stato
    Titolo

  3. SCELTE tavolo:
    Stato
    Scelta
    Nome
    DoCode
    NewState

Poi, quando si ottiene il messaggio (Session #, UserInput):

  1. interrogazione CurrentState utilizzando la Session # per determinare quale stato l'utente è in.
  2. query CHOICES che utilizzano lo stato e Choice = UserInput per determinare il nuovo stato (e DoCode) in base all'utente i nput.
  3. Basato su DoCode, è possibile eseguire alcune elaborazioni.
  4. aggiornare CURRENTSTATE per riflettere il nuovo stato.
  5. query STATES per ottenere il titolo (ad esempio "Scegli un colore").
  6. SCELTE query per ottenere le scelte possibili dal nuovo stato (ad esempio (1, "Blue"), (2, "Rosso"), etc.)
  7. costruire il messaggio (concat Titolo + scelte)
  8. restituire un messaggio all'utente.

È un modo ragionevole per risolvere il problema?

+0

Grazie per la risposta. Esattamente il mio requisito. Questa sembra essere un'idea praticabile. –

+0

Contento di aver potuto aiutare. Sentiti libero di votare la mia risposta se pensi di aver risolto il problema. – Albert

+0

Questa è la soluzione migliore che ho trovato per il problema. +1 per la spiegazione. :) – Fawzan

1

HI, sto sviluppando anche un'applicazione basata sul menu USSD. Sfortunatamente ci sono scarse risorse sulle applicazioni USSD su Internet e penso che sia perché USSD a differenza di SMS non è ancora standardizzato. quindi ogni telecom ha la propria implementazione ussd. Il progetto su cui sto lavorando richiede un gateway USSD (gestito dalla telecom) e il mio server web (apache) che esegue la mia app. la mia app scritta in php comunica fortunatamente per me il gateway USSD delle telecomunicazioni via xml. quindi ottengo l'input dell'utente mobile dal gatway USSD tramite xml e invio anche pagine xml al server USSD che visualizza la risposta sul telefono cellulare dell'utilizzo. questo è tutto quello che so.