API de la interfaz de usuario (IU)

La API de la IU le ayuda a crear interfaces de usuario para las pantallas de BlackBerry®.

Las aplicaciones con una herramienta de interfaz net.rim.device.api.ui.UiApplication, que es una subclase de net.rim.device.api.system.Application. Un objeto UIApplication mantiene una pila de objetos de pantalla. Cuando inserta pantallas en la pila, los dibuja sobre cualquier otra pantalla ya en la pila. Cuando la aplicación saca una pantalla de la pila, vuelve a trazar las pantallas subyacentes según sea necesario. Sólo la pantalla en el principio de la pila recibe eventos de entrada.

Los tres objetos principales de la interfaz son Field, Manager, y Screen.

Fields

Un Field representa una región rectangular contenida por un gestor. Cada control, como un botón, corresponde a una instancia de un campo. No puede crear una instancia de Field directamente, pero puede utilizar campos preconstruidos y crear campos personalizados. Cada campo dibuja el control y gestiona las entradas de los usuarios. A continuación tiene algunos de los campos preconstruidos más usados:

  • ButtonField proporciona un botón único
  • LabelField proporciona una etiqueta de texto
  • TextField proporciona una etiqueta de texto
  • DateField le permite almacenar una fecha y mostrarla en distintos formatos en un campo (por ejemplo, 2011/11/17)
  • MapField le permite representar un mapa en un campo
  • BrowserField le permite mostrar contenido Web en un campo

Puede crear campos personalizados ampliando la clase Field.

Gerentes

Un Manager, también llamado gestor de diseño, gestiona la disposición y desplazamiento de los campos. Un objeto Manager contiene campos. Hay varias subclases de Manager que administran tipos específicos del diseño de campo.

Varios gestores útiles se definen en el paquete net.rim.device.api.ui.container. Los siguientes gestores son los más utilizados.

Debe definir un gestor de diseño en el nivel superior de su pantalla y, a continuación, agregar campos al mismo. Puesto que los gestores de diseño son subclases de Field, pueden incrustarse en otros gestores de diseño. También puede definir su propio gestor de diseño.

Screens

Un objeto Screen es el contenedor de nivel superior de los elementos de la interfaz de usuario que representa lo que desea mostrar. Los objetos Screen pueden contener campos (por ejemplo, campos de texto), gestores de diseño, botones de opción y listas desplegables.

La API de la interfaz tiene dos tipos principales de objeto Screen:

Puede mostrar información complementaria para su aplicación en una pantalla desplegable sin interrumpir el flujo de la aplicación. Como resultado, no tiene que abandonar la pantalla principal y, a continuación, volver a la misma más tarde. Además, puede dar prioridad a los objetos PopupScreen que deben insertarse en la parte superior de la pila de visualización invocando pushGlobalScreen(Screen, int, int).

Menús

Los smartphones BlackBerry organizan comandos en un menú al cual se puede acceder pulsando la tecla Menú. Los elementos del menú son instancias de MenuItem. Puede personalizar el menú que se abre para su aplicación. Puede:

  • Agregar o eliminar elementos del menú dependiendo del estado de la pantalla o la aplicación cuando el menú se abra
  • Especificar el orden de los elementos del menú
  • Especificar el orden de los elementos del menú y el elemento del menú seleccionado de forma predeterminada

Listeners (Oyentes)

La API de la IU contiene un modelo de servicios de escucha de eventos genéricos que le permite implementar servicios de escucha para numerosos tipos de eventos, como cuando se cambia un campo, o cuando el usuario pulsa una tecla, hace clic en el panel táctil o la bola de desplazamiento, o bien toca la pantalla táctil. Puede establecer un servicio de escucha para un objeto Field invocando setChangeListener() de la clase Field.

Patrón de diseño Model-View-Control

Algunos componentes estándar en la API de la IU, incluidos los indicadores de actividad y de progreso en el paquete net.rim.device.api.ui.component.progressindicator y las listas y tablas del paquete net.rim.device.api.ui.component.table, utilizan el patrón de diseño Model-View-Controller (MVC).

Antes de utilizar estos componentes, debe estar familiarizado con el patrón de diseño MVC. Hay numerosos recursos impresos y en línea en los que obtener más información acerca de MVC.

Objetos Screen modales

Los objetos Screen se insertan en la pila de visualización mediante los métodos pushScreen() y pushModalScreen() de la clase UiApplication. Puesto que pushModalScreen() se bloquea hasta que el objeto Screen abandona la pila de visualización (donde vuelve inmediatamente pushScreen()), el orden de operaciones es crucial cuando se utilizan objetos Screen modales. No invoque pushModalScreen() antes de iniciar el subproceso del distribuidor de eventos, pues si lo hace se generará una RuntimeException. Otros métodos, como Dialog.inform() y Dialog.alert(), también utilizan pushModalScreen().

Gráficos

Dispone de varias opciones para crear gráficos en un smartphone BlackBerry:

  • Puede agregar componentes predefinidos de la interfaz de usuario como texto, controles de entrada e imágenes a los objetos Screen.
  • Puede hacer dibujos personalizados sencillos en una pantalla omitiendo el método paint() de la clase que representa la pantalla y utilizando los métodos suministrados por el objeto Graphics para dibujar en la pantalla.
  • Puede dibujar gráficos en 2D con las API de SVG: org.w3c.dom, org.w3c.dom.events y org.w3c.dom.svg.
  • Puede crear imágenes más sofisticadas en 2D mediante las API de la utilidad de gráficos: API de OpenGL ES o API de OpenVG.
  • Puede crear imágenes en 3D mediante la API de OpenGL ES.

¿Le ha resultado útil esta información? Envíenos sus comentarios.