Smart Devices & GAM Práctico Práctico – Curso Smart Devices & GAM – Evolution 3 Copyright Artech Consultores S. R. L. 1988-2015. Todos los derechos reservados. Este documento no puede ser reproducido en cualquier medio sin el consentimiento explícito de Artech Consultores S.R.L. La información contenida en este documento es para uso personal únicamente. Marcas Registradas Artech y GeneXus son marcas registradas de Artech Consultores S.R.L. Todas las demás marcas mencionadas en este documento son propiedad de sus respectivos dueños. 2 Práctico – Curso Smart Devices & GAM – Evolution 3 1. PRIMEROS PASOS .......................................................................................................... 4 2. APLICACIÓN WEB Y DOMINIOS SEMÁNTICOS ................................................................ 4 3. APLICANDO EL PATTERN WORK WITH FOR SMART DEVICES .......................................... 6 Ejecutando la aplicación en forma Compilada ........................................................................ 11 4. DESARROLLANDO LA APLICACIÓN ............................................................................... 12 Diseño - Themes e Imágenes .................................................................................................. 12 Personalizando los Objetos .................................................................................................... 14 Multiples Layouts per Row ..................................................................................................... 15 Agregando nuevas Transacciones ........................................................................................... 16 Transacción Restaurant .......................................................................................................... 19 Personalizando las Pantallas de View y Edit ........................................................................... 20 Modificando el Estilo de Navegación (Navigation Style) ......................................................... 22 Transitions ............................................................................................................................. 23 Órdenes y filtros ..................................................................................................................... 23 Comportamiento .................................................................................................................... 24 Integración con el calendario y la libreta de direcciones ........................................................ 26 Transacción EventSetting ....................................................................................................... 27 6. ACTIVACIÓN DEL GAM ................................................................................................. 28 Configuración de la Seguridad a nivel de Objeto .................................................................... 31 7. CONVIRTIENDO LA APLICACIÓN A OFFLINE .................................................................. 32 3 Práctico – Curso Smart Devices & GAM – Evolution 3 1. Primeros Pasos A lo largo de este práctico se desarrollará una aplicación para un Evento (en inglés: EventDay). Se prototipará en Android, dado que se cuenta con un emulador. Si se tiene algún dispositivo (Android, BlackBerry, iOS, Windows 8) podrá probar la aplicación en él. Crear una nueva Knowledge Base (si usa la versión Trial se creará con Environment .NET con generador Default C# Web) Observar las propiedades del generador Default (C# Web —usando la versión Trial encontrará el nodo Generators en el propio Folder View—), en particular las del grupo Execution Utilizar la opción Deploy to Cloud (propiedad del Generador propiedad Deploy to Cloud = Yes) —usando la Trial es la opción default y la única posible—. Observar las propiedades del Data Store Default que indica dónde se va a crear la aplicación —en la versión Trial esta información no está visible—. En el servidor samples.genexusserver.com/xev3/ podrá acceder a la aplicación EventDay, más compleja, que fue modelo para este práctico, así como para el teórico. Para probarla, haga desde GeneXus un “New Knwoledge Base from GXserver”. El archivo EventDay_BeforeGAM.xpz contiene todos los objetos de la KB solución de este práctico hasta el fin del punto 5 (es decir, antes de la aplicación de GAM). En la confección de este práctico, hemos utilizado el emulador gratuito genymotion, con un virtual device Samsum Galaxy S4. Este emulador es bastante más veloz que el que viene con el SDK de Android. Le sugerimos descargárselo de genymotion.com y crearse los virtual devices en los que desee probar la aplicación. 2. Aplicación Web y Dominios Semánticos Crear la Transacción Country de acuerdo a la siguiente figura: Crear los siguientes Dominios: Id - Numeric(8.0) Name - Varchar(20) Configurar en el atributo CountryId la propiedad Autonumber (en el atributo, no en el dominio). 4 Práctico – Curso Smart Devices & GAM – Evolution 3 Crear la Transacción Speaker de acuerdo a la siguiente figura: Configurar la propiedad Autonumber en el atributo SpeakerId Definir el dominio Surname = VarChar(40) SpeakerFullName es un atributo fórmula = SpeakerSurname.trim()+ ‘ ‘ + SpeakerName.Trim() Observar los dominios predefinidos en GeneXus. Varios corresponden a dominios semánticos. ¿Qué significa esto? Agregar reglas: Error( 'The Speaker Name must not be empty') if SpeakerName.IsEmpty(); Error( 'The Speaker Surname must not be empty' ) if SpeakerSurname.IsEmpty(); Msg( 'Curriculum Vitae should not be empty') if SpeakerCVMini.IsEmpty(); Aplicar a ambas Transacciones el Pattern Work With for Web Importar en la KB el archivo: 1-InitializeCountries_and_Speakers.xpz. Aquí básicamente importará dos procedimientos para inicializar las tablas con datos. Para ello: Agregar en el Evento Start del Web Panel Home (se encuentra en el folder GeneralWeb) la invocación a los siguientes procedimientos que se importaron con el xpz anterior: Event Start InitializeCountries() InitializeSpeakers() Endevent 5 Práctico – Curso Smart Devices & GAM – Evolution 3 Ejecutar la aplicación presionando F5 (tendrá que reorganizar). Ejecutar el Web Panel Home para la inicialización y ver los datos cargados. Acceda al Work With Countries y al Work With Speakers, para comprobar que efectivamente se hayan cargado. 3. Aplicando el Pattern Work With for Smart Devices Aplicar el Pattern Work With for Smart Devices a las Transacciones Para ello: Sección Patterns de la transacción. Elegir el patrón apropiado y “Apply this pattern on save”. Observar los nodos List, Detail y Section(General) de la instancia, viendo en cada caso la pantalla que aparece. Grabar y observar qué sucede con los siguientes elementos: o Propiedades de la transacción: Business Component = True Expose as Web Service = True Web Services Protocol = ReST Protocol o Observar cómo aparece el objeto Work with for Smart Devices en el Folder View, bajo la TRN. o Se agregó el generador para Smart Devices como generador secundario. Crear el Dashboard EventDay (respetar el nombre para las importaciones de objetos posteriores), de acuerdo a la siguiente figura: Observar el evento asociado a cada opción. En el primer ítem se está invocando al Work With de países. ¿A qué parte del mismo? Al List. 6 Práctico – Curso Smart Devices & GAM – Evolution 3 Asociar una imagen a cada opción (puede utilizar las del folder Android Icons que los instructores le proveerán): Grabar y observar que la propiedad Main Program está en “True”. Abrir el virtual device de genymotion antes de presionar F5. De lo contrario, GeneXus abrirá automáticamente el provisto por el SDK de Android. Déjelo abierto de aquí en más. En la imagen mostramos la pantalla de genymotion donde deberá elegir el virtual device que desea abirr, y ejecutarlo. Por ejemplo, el Samsum Galaxy S4: Presionar F5 para generar y ejecutar la aplicación en el emulador (si va a utilizar el emulador del SDK de Android, esta operación puede demorar en la primera ejecución, cuando se abre el emulador. No cerrarlo para próximos F5s. Si al abrirse el emulador no se cargó el KBN, haga otro F5, sin cerrar el emulador). Notas: Dado que no se ha especificado ningún “Startup Object”, GeneXus abrirá tanto el Developer Menu web en el navegador predeterminado, como el emulador Android (o ejecutará la aplicación en el emulador que tenga abierto, por ejemplo, el virtual device de genymotion) para probar tanto la aplicación Web (.NET), como la de Smart Devices (Android), respectivamente. En el Developer Menu, además de los links para ejecutar los objetos de la aplicación Web, aparecerán QR codes: uno que encapsula la URL para poder ejecutar desde el KBN en el dispositivo que corresponda (a la derecha aparece el link para descargar el KBN para iOS, dado que cada vez más se aconseja probar la aplicación compilada, ya que en el KBN las funcionalidades están reducidas; el de iOS se sigue disponibilizando puesto que se necesita una Mac para compilar, lo que restringe las posibilidades de test); los otros contendrán la aplicación para Smart Devices compilada, tanto para Android como para Blackberry. Para Windows 8 o Phone, el compilado no puede descargarse directamente en un dispositivo, y tampoco se tiene KBN puesto que no crea metadata para la UI. La forma de prototipar allí es a través del emulador específico o enchufando el dispositivo a la computadora. No siempre se creará el archivo compilado. Dependerá de si se tiene “Startup object” configurado y de la modalidad de ejecución que se empleó (si F5, Run o Run with this only sobre un objeto 7 Práctico – Curso Smart Devices & GAM – Evolution 3 main, etc.) En nuestro caso aún no tenemos el archivo compilado, por lo que aparecen deshabilitados. En este caso el emulador está abriendo el KBN (Knowledge Base Navigator) que muestra la URL para ejecutar el dashboard de la aplicación (único objeto main que se tiene hasta el momento). Si no abrió el emulador genymotion antes, GeneXus abrirá el del SDK de Android: Si abrió antes del F5 el emulador genymotion, verá una pantalla como la que sigue: 8 Práctico – Curso Smart Devices & GAM – Evolution 3 Nota: si tiene un dispositivo iOS, y quiere probar allí, instálese el KBN (obténgalo en forma gratuita del market place), ejecútelo, y mediante el menú, elija la opción “Add Knowledge Base” y luego “+”. Escanee el QR code que aparece en el Developer Menu para el KBN (el único que aparece habilitado). Grabe y pruebe. En el emulador Android: Al hacer tap sobre la URL, se muestra el layout correspondiente al Dashboard: Hacer tap sobre “Speakers” o Observar que aparecen los mismos oradores que se ingresaron desde la aplicación Web o Observar los atributos que se están mostrando de cada orador. Ir a GeneXus a buscar en el Pattern el Layout de este List, para ver la correspondencia. 9 Práctico – Curso Smart Devices & GAM – Evolution 3 o Hacer tap sobre un orador cualquiera, y vea cómo aparece el detalle del mismo (¿este es el Layout correspondiente al modo View o al Edit?): Editar el Orador que está visualizando (para ello observe el ícono que aparece arriba a la derecha) Al hacerlo ¿qué Layout se está desplegando para esta Sección General del detalle? ¿El del modo View o Edit? Insertar un nuevo Speaker. Para ello: 10
Description: