UI API

UI API consente di creare interfacce utente per le schermate BlackBerry®.

Applicazioni con un'interfaccia utente implementata net.rim.device.api.ui.UiApplication, che è una sottoclasse di net.rim.device.api.system.Application. Un oggetto UIApplication mantiene uno stack di oggetti Screen. Poiché spinge le schermate sopra lo stack, le trascina sulle altre schermate già presenti sullo stack. Quando l'applicazione seleziona una schermata dallo stack, riordina le schermate sottostanti come necessario. Solo la schermata all'inizio dello stack riceve gli eventi di input.

I tre oggetti principali dell'interfaccia utente sono Field, Manager e Screen.

Campi

Un oggetto Field rappresenta un'area rettangolare contenuta da un manager. Ogni controllo, ad esempio un pulsante, corrisponde a un'istanza di un campo. Non è possibile creare un'istanza del campo direttamente, ma è possibile utilizzare i campi predefiniti e creare campi personalizzati. Ogni campo definisce il controllo e gestisce l'input utente. Di seguito sono riportati alcuni dei campi predefiniti utilizzati più di frequente:

  • ButtonField fornisce un pulsante semplice
  • LabelField fornisce un'etichetta di testo
  • TextField fornisce un'etichetta di testo
  • DateField consente di memorizzare una data e di visualizzarla in diversi formati in un campo (ad esempio, 2011/11/17)
  • MapField consente di eseguire il rendering di una mappa in un campo
  • BrowserField consente di visualizzare il contenuto Web in un campo

È possibile creare campi personalizzati estendendo la classe Field.

Personale operativo

Un Manager, chiamato anche gestore di layout, gestisce il layout e lo scorrimento dei campi. Un oggetto Manager contiene campi. Esistono diverse sottoclassi di Manager che gestiscono specifici tipi di layout di campo.

Diversi manager utili sono definiti nel pacchetto net.rim.device.api.ui.container. Di seguito sono riportati i manager utilizzati più di frequente:

È possibile definire un gestore di layout di livello più alto della schermata e aggiungere ad esso i campi. Poiché i gestori di layout sono sottoclassi dell'oggetto Field, possono essere incorporati in altri gestori di layout. È possibile anche definire un gestore di layout personalizzato.

Schermate

Un oggetto Screen è il contenitore di livello più alto per gli elementi dell'interfaccia utente che rappresentano il tipo di visualizzazione desiderata. Le schermate possono contenere campi (ad esempio, campi di testo), gestori di layout, pulsanti di opzione ed elenchi a discesa.

UI API dispone di due tipi principali di oggetti Screen:

È possibile visualizzare informazioni supplementari dell'applicazione in una schermata a comparsa senza interrompere il flusso dell'applicazione. Di conseguenza, non è necessario uscire dalla schermata principale e riaccedervi successivamente. Inoltre, è possibile assegnare un ordine di priorità agli oggetti PopupScreen che si desidera trasmettere all'inizio dello stack di visualizzazione richiamando pushGlobalScreen(Screen, int, int).

Menu

Gli smartphone BlackBerry organizzano i comandi in menu sensibili al contesto ai quali è possibile accedere premendo il tasto Menu. Le voci di menu sono istanze di MenuItem. È possibile personalizzare il menu che si apre all'apertura dell'applicazione. È possibile:

  • Aggiungere o rimuovere voci di menu in base alla schermata o lo stato dell'applicazione all'apertura del menu
  • Specificare l'ordine delle voci di menu
  • Specificare l'ordine delle voci di menu e la voce di menu selezionata per impostazione predefinita

Listener

UI Api, inoltre, contiene un modello di listener evento generico che consente di implementare listener per numerosi tipi di eventi, ad esempio quando un campo viene modificato o quando si preme un tasto, si fa clic sul trackpad o sulla trackball o si tocca il touchscreen. È possibile impostare un listener per un oggetto Field richiamando setChangeListener() della classe Field.

Modello di progettazione di tipo modello-visualizzazione-controller

Alcuni componenti standard in UI API, inclusi gli indicatori di attività e di progresso nel pacchetto net.rim.device.api.ui.component.progressindicator e gli elenchi e le tabelle nel pacchetto net.rim.device.api.ui.component.table, utilizzano il modello di progettazione di tipo modello-visualizzazione-controller (MVC).

Per utilizzare questi componenti, è consigliabile acquisire approfondire le conoscenze acquisite sul modello di progettazione MVC. Sono disponibili diverse risorse cartacee e online che forniscono informazioni sul modello MVC.

Schermate modali

Gli oggetti Screen vengono trasmessi allo stack di visualizzazione dai metodi pushScreen () e pushModalScreen () della classe UiApplication. Poiché pushModalScreen() si blocca finché la schermata non viene eliminata dallo stack di visualizzazione (dove pushScreen() restituisce i risultati immediatamente), l'ordine delle operazioni è fondamentale durante l'utilizzo delle schermate modali. Non richiamare pushModalScreen() prima di avviare il thread di invio eventi; in caso contrario, viene avviato RuntimeException. Gli altri metodi, quali Dialog.inform() e Dialog.alert(), utilizzano anche pushModalScreen().

Grafica

Sono disponibili diverse opzioni per la creazione di grafica su uno smartphone BlackBerry:

  • È possibile aggiungere i componenti predefiniti dell'interfaccia utente, come testo, controlli di input e immagini, agli oggetti Screen.
  • È possibile eseguire semplici disegni personalizzati su una schermata sovrascrivendo il metodo paint() della classe che rappresenta la schermata e utilizzare i metodi forniti dall'oggetto Graphics per disegnare sulla schermata.
  • È possibile disegnare immagini grafiche 2D con le API SVG: org.w3c.dom, org.w3c.dom.events e org.w3c.dom.svg.
  • È possibile creare immagini sofisticate 2D mediante Graphics Utility API: OpenGL ES API o OpenVG API.
  • È possibile creare immagini 3D mediante OpenGL ES API.

Le informazioni sono state utili? Inviateci i vostri commenti.