Hola Mundo con ADF Mobile para Android en Ubuntu 12.10 Parte 1

Con la salida del nuevo ADF Mobile algunos de ustedes quizas ya esten realizando sus primeras pruebas o quizas este sea su proposito para el nuevo año. En este articulo vamos a ver como construir su primera aplicación ADF Mobile, partiendo de un ejemplo sencillo un Hola Mundo!. Esta aplicación será desplegada en Android y estoy utilizando Ubuntu, dedicado a aquellos que como yo, utilizan linux en su día a día. Así que como bono, explico los pasos para configurar su ambiente de desarrollo.


Alistando el ambiente de desarrollo:

  1. Descargar el instalador del SDK de la página de android.
  2. Una vez descargado el instalador, se tiene que descargar e instalar algúna versión del SDK utilizando el SDK Manager en mi caso instalé el SDK 16: Ejecute el comando $ANDROID_SDK_HOME/tool/android para invokar el SDK Manager

  3. En JDeveloper bajo Tools->Preferences -> ADF Mobile ->Platform configurar en donde se encuentran ubucados, el SDK así como la plataforma que descargo.

Desarrollando la Aplicación:

A pesar de ser parte de ADF, ADF Mobile presenta características únicas en la forma de implementación. Una vez se crea una aplicación en ADF Mobile, esta contiene 2 proyectos uno llamado Application Controller, el cual contiene los servicios que proporciona ADF mobile para integrarse con el dispositivo, tales como la integración con la camara, contactos, calendario, etc. Estos servicios están representados como Data Controls.
El otro proyecto se llama ViewController y es el único en el cual vamos a crear la lógica y las interfaces respectivas para la aplicación:
  1. Cree una clase java que contiene el metodo holaMundo
  2. Luego cree un DataControl sobre esta clase.
  3. Ahora ubique el archivo llamado adfmf-feature.xml ubicado bajo META-INF, este es el archivo principal para crear una aplicación en ADF Mobile. En este archivo se crean Features, las cuales son modulos de la aplicación, que tienen su correspondiente boton de acceso en el menú de la aplicación.  Un feature puede contener una página o un taskflow o algún tipo de contenido remoto HTML.
  4. Cree un feature llamado saludo el cual sea implementado por un taskflow.

  5. Defina el taskflow e implemente las dos páginas. Note que al control flow case de los taskflows se le pueden adicionar efectos de transición que se dan cuando se navega hacia las vistas. Así mismo por un bug que existe en la actualidad la vista previa de las páginas no funciona en Linux.

Desplegando a un dispositivo o al emulador:

Varios elementos aquí, el emulador de android es bastante lento por lo que en mi caso opté por desplegar directo al dispositivo y me ha ido muy bien.
  1. Antes de desplegar asegurese de que su dispositivo sea reconocido, para esto ejecute el siguiente comando en el terminal $ANDROID_SDK_HOME/platform-tools/adb devices
  2. Ahora cree un Android Deployment profile para la aplicación, tenga en cuenta que por defecto la opción de que la aplicación sea de tipo debug está seleccionada. Esta opción aunque buena para pruebas, también incrementa considerablemente el tamaño de la aplicación y hace más lento el despliegue. Entonces una alternativa es el de seleccionar release y crear una llave propia no firmada para su aplicación en tiempo de pruebas. Siga las instrucciones de este artículo para crear la llave.

  3. Proceda a desplegar la aplicación.

A continuación les dejo un video que resume todos los pasos descritos anteriormente.

En la segunda parte les mostraré como consumir el saludo pero esta vez desde un JAX-WS webservice