INSTITUCIONAL
COMUNIDAD
BLOG
AYUDA
MI CUENTA
EN PT ES

icono GXandroid

My first Android application o, mejor dicho, comenzando con GeneXus X Evolution 2 :: Por Gabriel Icasuriaga

Gabriel Icasuriaga, de la Comunidad GeneXus Uruguay, comparte su primera experiencia en el desarrollo de una aplicación sobre Android con GeneXus X Evolution 2.
Me propuse seguir las instrucciones que están en el wiki de Artech para crear una aplicación para los famosos Smart Devices. Así que usaré esa guía e iré comentando en el paso a paso mis opiniones y vivencias con la idea que le pueda servir a quien desee comenzar rápidamente a configurar el producto y poner en funcionamiento la primer aplicación, abriendo así las puertas a plasmar sus propias creaciones.






 
En principio, llegaremos a una aplicación que nos muestre algo similar a esta interface:

La primera experiencia está basada en esta beta (beta 1 de GeneXus X Evolution 2) que solo puede generar con Ruby y para Android, pero en los próximos lanzamientos se agregarán más generadores y soporte para iOS/Apple y RIM/Blackberry, y las actualizaciones serán Night Builds.
 
Aquí puede registrarse como betatester y, una vez registrado, le recomiendo leer el foro específico de esta versión, así, si le ocurre algún problema al principio, seguramente a otro ya le haya pasado, y con eso salir a flote y continuar disfrutando del testing.

La guía que acompaña este tutorial la descargan acá. Quizá les resulte cómodo imprimirla  y así evitar mucho alt+tab; de paso tienen las imágenes asociadas a cada punto y con un golpe de vista podrán ubicar mejor las referencias contenidas en este relato.

 
A continuación mi experiencia con el paso a paso de la guía para el desarrollo de la aplicación sobre Android con GeneXus X Evolution 2:



Paso 0: Pre-requisitos técnicos, se indica instalar el emulador de Android y el soporte para Ruby.
En realidad es más que eso, ya que lleva implícito instalar la Evo2 y el JDK de Java; de todas formas, acá está bien explicado, así que vamos a seguir este otro paso a paso para dejar instalado el Android.

1) Registrarse como betatester, descargar e instalar la Evo2 de aquí.

Atención: Es obligatoria la instalación del soporte de Ruby; recuerden que este generador sólo soporta MS-SQL Server y MySQL.

Si alguno no instaló el soporte para Ruby, una vez terminada la instalación de la Evo2 ejecutar el install.bat que está en la carpeta C:\Program Files (x86)\Artech\Genexus\GCEv2\gxruby\win.

Se necesitan licencias para este producto; al registrarse están los requisitos. Por ser otro producto, no afecta las licencias existentes.

2) Instalar el Android SDK el cual trae el emulador para hacer las pruebas, no siendo obligatorio o necesario tener un dispositivo con Android para ejecutar.

Consejo: Este es el paso donde más atención hay que prestar, así que por las dudas vayan despacio, punto por punto, o mejor aún, lean todo el punto completo antes de comenzar, les puede ahorrar algún “no me anda”.

Entre los prerrequisitos del Android, está el JDK 1.6 de Java, no siendo suficiente el JRE; en mi caso ya lo tenía instalado, pero para quien no lo tenga es obligatorio instalarlo antes que el SDK. Se baja de acá; atentos que también instala el JRE.

La lista de prerrequisitos Android la pueden revisar acá y el Quick Start lo tienen en este enlace.

Con el JDK instalado, descargar el SDK de Android para Windows desde acá (atención que es un enlace directo a la descarga).

Este un archivo ZIP que genera una carpeta llamada “android-sdk-windows” y no viene ningún instalador, así que donde lo instalen será el lugar definitivo; es solo descomprimirlo. Este path les será preguntado en las properties del modelo, pero aún falta para eso.

Agregar la carpeta “android-sdk-windows\tools” al path de Windows; si bien esto no es obligatorio, será útil para correr desde línea de comandos un debug, updates u otras herramientas.

En la carpeta donde descomprimimos hay un programa llamado “SDK Manager”; lo ejecutamos y ahí indicamos cuáles paquetes instalar. Para seleccionar los paquetes me baso en esta  imagen tomada del wiki (comparen contra esa imagen ante de pulsar “Install”).

Atención:

  • En la opción por defecto vienen marcados más paquetes de los necesarios. Para desmarcar los sobrantes, hay que clickear encima del paquete y a la derecha y abajo elegir la opción “Reject”; con esto aparecerá una “x” en el paquete a eliminarse; esto debe hacerse para cada paquete individualmente.
  • Los paquetes Google API al principio de la línea vienen por defecto con un “?”; para instalarlos hacer la misma operación que para eliminarlos, pero al elegir la opción “Accept” se cambiará el “?” por un tilde de correcto.
En resumen, solo instalar SDK Platform 2.2 y 2.1 y Google APIs 8 y 7.

Cuando termina la instalación, y si todo salió bien, los Installed Packages en su PC deben quedar igual a la imagen ya mencionada.

3) Instalación del JDK, ya fue explicada como prerrequisito de la instalación del SDK.

4) ¡Ahora es momento de crear la KB! según la guía paso a paso publicada por Artech en el Community Wiki.


Paso 1: Crear una KB con la Evo2 y Ruby.
De momento no se soporta el multilenguaje, así que dejar English como viene por defecto.
Interesante: una vez creada la KB aprovechen a mirar el folder “Domains”, pues hay unos cuantos nuevos y que serán asociados a respuestas estándar de los dispositivos, como por ejemplo, si se pone un atributo basado en dominio “Email”, en la aplicación al tocar sobre ese dato  seguramente se abrirá el cliente de correo que se tenga en el celular o tablet.

Paso 2: Crear las transacciones Customer y Company
Atención: Crearlas exactamente iguales a como están en la guía, sobre todo en el tipo de datos; la primera tentación es crearlos por defecto para ir rápido a probar y eso nos llevará a no tener las nuevas funcionalidades, pues se usan los dominios nuevos.
Igual que en la Evo1, al poner en el nombre del atributo el nombre de uno de los dominios, ya le asigna directamente ese tipo de dato.



Paso 3: Aplicar el pattern “Work With for Smart Devices”
Se trata de la presentación y configuración del nuevo pattern.
Wysiwyg es la novedad ya que en tiempo de diseño vamos viendo la interface de usuario, y todo lo que hacemos se ve reflejado enseguida en nuestra pantalla.



Debemos marcar con Control o Shift ambas transacciones, botón derecho, Apply Pattern y seleccionar el nuevo pattern.

Luego ir a cada transacción y, en el tab “Patterns”, elegir “Work With for Smart Devices”. Arriba a la izquierda está el combo para elegir el tipo de dispositivo; en este caso seleccionamos “Android”. Prueben otros dispositivos así ven cómo cambian los skins de cada uno.

Consulten la guía para tener la noción de dónde están las cosas a las que me refiero.

No se olviden de salvar; el título en el tab del pattern debe quedar subrayado, lo que indica que el pattern fue aplicado.

En este momento, cada vez que salven o reabran el pattern les aparecerá seleccionado Ipad; quizá se trate de un error.
 
  • Atención: Hay que tener cuidado en si el foco quedó en el tipo de dispositivo deseado, ya que al dar clic sobre cualquier parte de la pantalla del pattern, si hacemos scroll se nos cambiará el tipo de dispositivo.
  • Este pattern tiene dos tabs abajo: el Instance Data y el Documentation.
     
En el tab “Instance Data” aparecen dos tabs verticales: “Devices” y “Tree”; son las vistas del pattern; en el tab “Devices” vemos cómo quedará la aplicación, y manejaremos atributos, filtros, órdenes y el View; en “Tree” veremos la configuración, y ahí podremos hacer todo lo necesario para configurarlo a gusto, tal como agregar o quitar atributos, cambiar el orden en el que se presentan, etc.

En el panel del lado derecho se despliega la vista (View) del registro seleccionado, y se seleccionan los atributos a mostrar con los botones “Add Atribute” y “Remove”.
 
  • Atención: Estos botones aparecen al final de la grilla. Si no los ven, por favor usen el scroll lateral en el mismo panel derecho.
En el panel del lado izquierdo, se pueden agregar filtros y órdenes para el Work With simplemente haciendo clic sobre la palabra “Filters” u “Orders”.

La grilla está armada para tres atributos: el botón gris, un atributo principal y uno secundario. Prueben con clic sobre cada uno y les aparecerá el diálogo de selección de atributos para cambiarlos.

En diseño, al clickear sobre los botones Insert, Update y Delete, habilitan y deshabilitan estas acciones; hagan la prueba y vayan a la vista Tree para ver cómo cambian. Cuando empecé este tutorial no había descubierto eso; me quedó la duda y la mandé al foro y ahí me explicaron el funcionamiento, así que insisto en leer los correos del foro.

Paso 4:   Crear un Dashboard
Según la guía, el dashboard es como un menú que se usa para llamar a los objetos recién creados.
No hay mucho que hacer: crear el objeto y agregar las opciones; el nombre de la opción se cambia automáticamente al seleccionar el objeto en la property Data.



Paso 5 y 6: Construir la aplicación con F5 y ejecutarla, van juntos por comodidad
Si no configuraron el datasource cuando crearon la KB, ahora aparecerá un diálogo solicitando los datos. Si anduvieron por la vista Preferences, habrán notado que aparece un nuevo generador, el Smart Devices. Ahí hay que poner el nombre de la carpeta donde instalaron el SDK, property “Android SDK Directory”. Esta misma se pide en el diálogo del F5.


Presionamos F5 y enseguida dejamos fija la ventana del Output. Si hay una recomendación que me gustaría hacerles es “miren el output”, más cuando se trata de una KB nueva y es la primera vez que lo hacemos.

En principio se solicita la creación de la base de datos y luego empieza a construir la aplicación, se abre el browser y sale la aplicación Web con Ruby para cargar Companies y Customers. También se abre una ventana DOS con el WEBrick, que es el Web Server de Ruby y el emulador de Android para ejecutar la aplicación.
  • Atención: cuando va a ejecutarse el WEBrick por primera vez, puede saltar el firewall de Windows; en ese caso, autorizar y listo.
  • Atención: cuando aparece el emulador Android por primera vez, es posible que les salga un cartel con las opciones “Force Close” o “Wait”; eso es porque está levantando cosas del sistema que hacen que demoren nuestra aplicación en levantar; elijan “Wait” y al poco tiempo aparecerá. Esto último les va a pasar todas las veces que re-abran el emulador.
  • Atención: Al dar F5 les puede salir en el Output “Run Developer Menu Failed” pero funciona igual, ya se arreglará.



Trucos: No cerrar el emulador mientras reconstruimos la aplicación; esto es más práctico que el Tomcat que hay que subirlo y bajarlo hasta para respirar profundo. Tampoco cerrar el WEBrick, todo esto ahorra tiempo.

¡Espero que les haya sido de utilidad para sus experiencias con la Evo2 generando para Smart Devices!

* http://gugmontevideo.wordpress.com/2010/11/03/my-first-android-application-o-mejor-dicho-comenzando-con-la-evo-2/
 
Relacionado
Making ideas happen together :: importantes anuncios para la Comunidad de acuerdo a la tecnología para smart devices
¡Se liberó GeneXus X Evolution 2 Beta 1! Ahora la Comunidad tendrá la posibilidad de crear aplicaciones para Smart Devices
Smart Devices Generator para Android, BlackBerry, iOS :: Por Gastón Milano, arquitecto de GeneXus
La fiebre por Android :: Post de Cristhian Gómez sobre su experiencia en la plataforma
“Quedé asombrado con GeneXus X Evolution 2” :: El post de Gabriel Medina sobre la Beta 1
BlackBerry, otra pieza clave del generador Smart Devices de GeneXus
¡Bienvenido 2011! Comenzamos una nueva década con GeneXus X Evolution 2
User Controls para Smart Devices
Copa América 2011, beneficios comerciales y control de finanzas personales ¿Qué puede haber en común entre ellos?
Eliminatorias Sudamericanas: síguelas con tu iPhone, iPod o iPad
Uruguay centraliza toda la información sobre comercio exterior e inversiones en Siicex, un portal desarrollado en GXportal y GeneXus
Curso de Seguridad en aplicaciones GeneXus
GeneXus X Evolution 3 Upgrade 2 Preview 3
GXquery 4.0 Upgrade 3 ¡Liberado!