Ejemplo 3

Control Datafield

Una de las tareas más engorrosa para los usuarios de teléfonos es escribir diferentes tipos de información textual. Un caso de uso típico es la introducción de una fecha mediante un teléfono móvil que sólo cuenta con un pequeño teclado numérico para introducir la información. Para facilitar esta tarea, los programadores tienen que trabajar con máscaras de entrada o incluso necesitan desarrollar mecanismos ad-hoc que reduzcan al mínimo la necesidad de escribir. Para resolver la cuestión anterior MyMobileWeb ofrece dos controles específicos para introducir información relacionada con las fechas y el tiempo, ((datefield y timefield). En este ejemplo, se demuestra cómo MyMobileWeb es capaz de presentar un componente datefield de diferentes maneras:

  • Un conjunto de campos de entrada de datos (año, mes, día).
  • Encadenado una serie de menús que guían al usuario en la introducción de los distintos componentes de la fecha.
  • Un calendario

La figura siguiente muestra la facilidad con la que un programador puede declarar un componente datefield. Es de reseñar que cuando un componente datefield se declara en una pagina XML, nada se dice acerca de como se presentará. Se presentará dependiendo del contexto de entrega y según las políticas proporcionadas por el programador utilizando CSS. Si un contexto de entrega no soporta un mecanismo presentación, MyMobileWeb, lo degradará proporcionando la misma funcionalidad. El mecanismo final utilizado para introducir una fecha es totalmente transparente para el desarrollador, MyMobileWeb proporciona este tipo de transparencia automáticamente, validará el dato introducido por el usuario y dejara en la variable vinculada la fecha introducida por el usuario (como un objeto Date de Java).

Image:Datefield_xml.gif

El primer ejemplo (figura abajo) muestra la manera más sencilla de pintar un componente datefield. Consiste en proporcionar un campo de entrada para cada uno de los tres componentes de una fecha. MyMobileWeb, automáticamente comprobará si cada componente cumple las restricciones (día entero entre 0 y 31, el mes entero entre 1 y 12, etc.) En función del contexto de entrega la validación se realiza en el lado del cliente (si el dispositivo permite scripts), en el lado del servidor o en ambos. También para navegadores compatibles con extensiones W-CSS se generan de forma automática las wap-input-mask.

Image:Entry_date_css.gif

Image:Entry_date_pda.jpg

Las dos siguientes figuras demuestran cómo se presenta un datefield como una serie encadenada de menús (listas de selección) que guían al usuario a través del proceso de selección de la fecha. En el primer caso (el navegador Openwave), las listas de selección se muestran como listas de enlaces. En el segundo caso (navegador Motorola) las listas de selección son los típicos popup con listas.

Image:Mymw_datefield_chainedmenu_opw.gif


Image:Mymw_datefield_chainedmenu_siemens.gif


Por último, se muestra una potente característica que muestra automáticamente un calendario para que el usuario pueda seleccionar una fecha. Este tipo de prestación sólo está disponible para dispositivos con soporte avanzado de tablas. MyMobileWeb se encarga de la detección de este tipo de dispositivos y degrada la presentación cuando sea necesario.

Image:Calendar_date_css.gif

Image:Calendar_date_pda3.jpg

Tags: none