• - Un viaje de 7 días a San Francisco con dinero para gastos y una visita a la sede de Google en Mountain View.
  • - La aplicación ganadora se exhibirá en la tienda Google Play y en sus redes sociales (ver condiciones).*
  • - La oportunidad de protagonizar un vídeo explicando cómo creaste la aplicación convirtiéndolo así en un caso de estudio.
  • - Un dispositivo Nexus 7 para cada miembro del equipo.


Construye tu app para el reto AdMob Student App y gánate un increíble premio Google

¿Eres estudiante y te encanta programar o tienes una gran idea para una aplicación móvil? Puede que incluso estés creando una ahora mismo. Imagina que un día millones de usuarios pudieran ver tu aplicación.
Ahora te invitamos a hacer este sueño realidad. Participa en el reto AdMob Student App, un concurso de aplicaciones móviles abierto a estudiantes de cualquier parte del mundo. El objetivo es construir una aplicación (Android o iOS), generar flujo de ingreso usando publicidad in-app de AdMob, y escribir un reporte contándonos tu experiencia. Puedes participar tanto solo, como en un equipo de no más de 5 estudiantes.
Para ganar el reto necesitarás una gran aplicación y una gran estrategia de negocio enfocada en la gestión del proyecto, obtener usuarios y hacer uso de AdMob. En las próximas semanas anunciaremos  el jurado, que estará formado por importantes líderes de la industria de aplicaciones.

Los premios que están aguardando son increíbles.. El equipo ganador recibirá:
  • - Un viaje de 7 días a San Francisco con dinero para gastos y una visita a la sede de Google en Mountain View.
  • - La aplicación ganadora se exhibirá en la tienda Google Play y en sus redes sociales (ver condiciones).*
  • - La oportunidad de protagonizar un vídeo explicando cómo creaste la aplicación convirtiéndolo así en un caso de estudio.
  • - Un dispositivo Nexus 7 para cada miembro del equipo.

Además del equipo ganador global, habrá un equipo ganador por cada una de las cuatro regiones (Norteamérica, Latinoamérica, Europa, Oriente Medio y África, Asia Pacífico), que recibirán equipos informáticos y una mención honorífica en la web oficial de AdMob. 
Tienes desde hoy hasta el 31 de marzo de 2014 para crear la aplicación ganadora. Visita la web oficial de AdMob para saber más acerca de este reto y de cómo registrarte. Los ganadores se anunciarán en mayo de 2014.

Sigue AdMob en G+ para estar al tanto de cambios y anuncios.  
*Sólo aquellas aplicaciones que estén disponibles a través de la Play Store tendrán la oportunidad de ser exhibidas. Revisa el reglamento oficial (en inglés) para obtener mayor información. 

Publicado por Francisco Solsona, Developer Relations Regional Lead.

Introducción


  • uiautomatorviewer herramienta gráfica que permite escanear la UI.
  • uiautomator - Librería Java que posee APIs para realizar los UI Test funcionales.

Como se muestra en la Figura 1, mediante uiautomatorviewer podemos tomar un snapshot y dump de la UI de un dispositivo. (podemos analizar desde luego aplicaciones o lo que se esté ejecutando en el momento)
El desarrollo de interfaces de usuario en el ambiente móvil tiene una gran relevancia y desde el ambiente de desarrollo generalmente cuesta encontrar modelos automatizados para realizar operaciones de pruebas que nos aseguren el buen comportamiento siguiendo las líneas de diseño e implementación oficiales.

Introducción

En este artículo les voy a presentar una opción para las pruebas automatizadas de UI en Android.


Vamos a necesitar dos herramientas para realizar las actividades propuestas:
  • uiautomatorviewer herramienta gráfica que permite escanear la UI.
  • uiautomator - Librería Java que posee APIs para realizar los UI Test funcionales.

Como se muestra en la Figura 1, mediante uiautomatorviewer podemos tomar un snapshot y dump de la UI de un dispositivo. (podemos analizar desde luego aplicaciones o lo que se esté ejecutando en el momento)



Figura 1. uiautomatorviewer, explorando el dump de la interfaz
Para el ejemplo explicativo, vamos a utilizar solo una demostración simple para identificar elementos de la UI y generar un test simulando comportamiento del usuario de forma automatizada.


Detalles a tener en cuenta de la configuración del entorno:
  1. SO de ejecución. MacOS.
  2. Eclipse (en el caso del ejemplo. Kepler)
  3. Proyecto Java tradicional
  4. JUnit 3 para el ejemplo
  5. Referenced Libraries
    1. uiautomator.jar
    2. android.jar

**Recuerda que debes seleccionar la versión Android sobre la que vas a trabajar,  en el ejemplo API level 19 - Android 4.4 )

Vamos a codificar comportamiento simple como les comenté en la introducción donde identificaremos elementos de la UI básica de mi dispositivo como muestra la Figura 2.

Figura 2. Entorno Eclipse configurado.

Construyendo el test de UI y desplegando el mismo

Nuestro simple objetivo para este ejemplo será darle instrucciones al test para que verifique el comportamiento de un elemento que tenga como texto “Play Store”, vamos a simular un click y aguardar hasta inicie la operación como muestra el Código 1.

Código 1 - Método de prueba implementado.
Una vez codificada la operación de prueba, vamos a compilar esta solución. Para esta actividad lo vamos a realizar desde la consola mediante ant build.

Nota: recuerda que debes ejecutar este comando desde la ubicación del proyecto, como muestra la Consola 1.

Consola 1. Compilación de la solución codificada.
Con la aplicación compilada, vamos a desplegar la aplicación al dispositivo testingAndroid.jar utilizando adb push como pueden ver en Consola 2.
Consola 2. Desplegando el test codificado al dispositivo.
Luego vamos a implementar un shell para ejecutar el test y visualizar los resultados, como muestra la Consola 3.
Consola 3 Realización exitosa del test
Veamos que ocurre si el test falla, esta se puede observar en la Consola 4.
Consola 4 Validación de un test que falla.
Referencias
  • UI Testing, Android Developers, developers.android.com, noviembre 2013.
  • UIAutomator, Android Developers, developers.android.com, noviembre 2013.

De esta forma simple mediante las herramientas disponibles que no entrega el equipo de Android podemos hacer pruebas automatizadas de nuestras UI móviles en Android.

Les dejo una implementación paso a paso en el siguiente video:


Código fuente disponible aqui.

+Nicolas Bortolotti Perfil | Blog |
Nicolás es director de relaciones para desarrolladores en Latinoamérica región sur para Google. El ha desarrollado comunidades académicas y de investigación en varios países de Latinoamérica sobre la plataforma de desarrollo web y mobile de Google. Además Nicolas es profesor universitario, donde trabaja fuertemente en arquitecturas de software, ambientes emergentes e innovación en modelos de ingeniería de software



Llegamos con esta tercera entrega al final de la serie dedicada a la edición 2013 de la Devoxx.  La conferencia para desarrolladores de Java tuvo lugar durante la semana pasada en ...
Llegamos con esta tercera entrega al final de la serie dedicada a la edición 2013 de la Devoxx.  La conferencia para desarrolladores de Java tuvo lugar durante la semana pasada en Amberes y durante estos días he ido reportando mis experiencias durante el evento (primera entrega y segunda entrega). En esta última entrega, recojo los dos primeros días de conferencia propiamente dicho, ya que si recordáis los dos anteriores han sido denominados university days.

El tercer y último día de conferencia, no pude asistir pero no olvidad que también podéis consultar el timeline de Twitter y el evento creado en Google+. Además, ya están disponibles algunas de las grabaciones de las conferencias; podéis encontrarlas en la sección correspondiente de la agenda.
Todas ellas son muy recomendables.

El primer día de conferencias se inició con el keynote de Java 8 a cargo de Mark Reinhold y Brian Goetz, que si bien fue muy interesante, ya habíamos ido conociendo algunas de las características de Java 8 en otras conferencias y los mismos speakers protagonizarían algunas otras charlas muy interesantes también durante ese día.

Durante ese mismo día, tuvimos la oportunidad de ver dos excelentes charlas a cargo de compañeros de Google. La primera fue la charla de Sam Duton sobre media APIs,  y como permiten el desarrollo de aplicaciones multi dispositivo. La segunda fue la charla de Nick Butcher sobre diseño de aplicaciones en Android, que por cierto tenéis ya disponible en video en el enlace de arriba.

El segundo día de conferencia resultó el más completo para mi. Arrancamos la jornada con la keynote sobre el futuro de la web a cargo de Lars Bak, donde se anunció la versión 1.0 de Dart. Pero eso fue solo el principio. De hecho, el equipo de Dart estuvo durante todo el día con una ritmo frenético de actividad[1][2][3]. La mañana finalizaba con un interesante caso de estudio desarrollado con Go, presentado por Francesc Campoy.

Ya durante la tarde, asistí a una de las charlas mas interesantes que vi durante toda la conferencia, a cargo de Mike West, sobre seguridad en navegadores. Esta también esta disponible ya para ver en video. Muy recomendable. Tras esta puede asistir a la presentación de Tom White sobre Hadoop, aunque me pareció muy plana, hasta el punto que me gusto más la parte de las preguntas que la presentación en si misma. También esta disponible en video ya.

La parte correspondiente a conferencias la finalizaría con la presentación de Devoxx4Kids, a cargo de Daniel de Luca y un grupo de voluntarios que han participado en el programa dirigido a niños. La presentación me pareció de lo mejorcito, ya que refleja un trabajo discreto, anónimo si queréis, pero de una importancia esencial para promover STEM y de resultados tangibles día a día. La iniciativas dirigidas a niños deberían de generalizarse ampliamente.

Mis últimos momento en la Devoxx 2013 fueron para el meetup de los GDGs. Fue estupendo compartir un rato con algunos de los organizadores que habían asistido a la conferencia. Y después de esto acabaron para mi las sesiones. Ni que decir tiene, que han sido unos días muy interesantes y espero que con esta breve serie de posts hayáis tenido la oportunidad de compartir de alguna manera mi experiencia. Si tenéis alguna consulta o sugerencia que hacerme, me podéis encontrar en Twitter o en Google+.

Nos vemos en la próxima.

Andres L. Martínez a.k.a almo   +almo | @davilagrau

Andrés a.k.a almo es responsable en Google de relaciones con desarrolladores en España.  Entre sus intereses se encuentran favorecer comunidades de desarrolladores de habla hispana, liderando programas estratégicos, contenidos de alta calidad para profesionales técnicos y favoreciendo un ecosistema alrededor de tecnologías software que incluya educación, empresas de base tecnológica e innovación social. Es además miembro asociaciones internacionales como IEEE, Computer Society y ACM.

Hoy de nuevo, un poco mas acatarrado, y exhausto de las numerosas actividades, os hago llegar noticias y experiencias personales del segundo día de Devoxx 2013. Si llegáis a este post por primera vez, recordaos que se trata de una secuencia sobre el Devoxx 2013.
Hoy de nuevo, un poco mas acatarrado, y exhausto de las numerosas actividades, os hago llegar noticias y experiencias personales del segundo día de Devoxx 2013. Si llegáis a este post por primera vez, recordaos que se trata de una secuencia sobre el Devoxx 2013. Aquí podéis consultar la primera entrega.

No olvidad que como siempre, al margen de estas notas, podéis seguir nuestra actividad en el evento de Google+ y en el timeline de Twitter.

Esta jornada, denominada University 2nd day, resulto maratoniana como siempre, estando repleta de charlas, workshop y meetups.

De las actividades a las que asistí durante el día yo destacaría los workshops:

El primero de los ponentes, Venkat, resulto ser un excelente comunicador. Durante tres horas, mantuvo el entusiasmo de la sala, realizando una excelente exposición sobre programación funcional comparativamente entre Java 8, Groovy y Scala.

Enfatizando en las facilidades que la programación funcional ofrece a la programación en multiprocesadores y el beneficio de la inmutabilidad de las variables, realizó numerosos ejemplos que ilustraron de este paradigma de programación. Algunas perlas que quedarán para la posteridad podrían ser: "var is a word of shame in Scala". Sin comentarios.
Una excelente presentación.

Respecto a la a la segunda de ellas, sobre rendimiento en Android, constituyó una densa exposición de los aspectos relacionados con gestión de memoria y prestaciones generales del sistema operativo Android. Durante la misma se ilustraron la importancia de una revisión de estos detalles durante los procesos de desarrollo. Sin afán de resumir toda su exposición, los ponentes dejaron algunos links útiles.[1][2][3].
Ahí tenéis material suficiente para las próximas vacaciones.

Además de estas charlas, asistí a algunas otras sobre análisis de datos, cloud computing o programación de sistemas embebidos. Estas resultaron muy interesantes, aunque más ligeritas, permitiéndome un respiro. Así pude dar una vuelta por la sección de expositores y ¡ay!  encontré el puesto de los libros técnicos. Y sin poder evitarlo, acaparé unos pocos que comparto con vosotros.


Finalmente, antes de dejar la conferencia, estuve echando un vistazo a algunos paneles de demostración de Arduino, Raspberry Pi y otros cacharros...
Espero que os guste la foto.

El día no puedo acabar mejor: organizamos una cena, a base de hamburguesas, con algunos desarrolladores de Europa.

Allí tuve la oportunidad de charlar sobre interesantes temas con Stephen Hoth y Hasan Hosgel.


Así pues, me despido por hoy.

Andres L. Martínez a.k.a almo   +almo | @davilagrau
Andrés a.k.a almo es responsable en Google de relaciones con desarrolladores en España.  Entre sus intereses se encuentran favorecer comunidades de desarrolladores de habla hispana, liderando programas estratégicos, contenidos de alta calidad para profesionales técnicos y favoreciendo un ecosistema alrededor de tecnologías software que incluya educación, empresas de base tecnológica e innovación social. Es además miembro asociaciones internacionales como IEEE, Computer Society y ACM.

Devoxx es la conferencia anual de la comunidad europea de desarrolladores Java. Durante los próximos cinco días, desarrolladores de toda Europa y el resto de mundo se reúnen en Amberes ...
Devoxx es la conferencia anual de la comunidad europea de desarrolladores Java. Durante los próximos cinco días, desarrolladores de toda Europa y el resto de mundo se reúnen en Amberes para compartir las última tecnologías. La conferencia, que inició su andadura en 2001 de la mano de Stephen Janssen y el Grupos Belga de usuario de Java, BeJUG, cuenta en esta edición con mas de 3500 asistentes.

La agenda la componen tracks sobre Arquitectura y Seguridad, Metodologías, Java SE, Java EE, Web y HTML 5, Lenguajes JVM, Cloud y BigData, Mobile y Future <Devoxx>. Con esta planificación es casi imposible no perderse algo interesante, pero como corresponsal improvisado, prometo reflejar en esta serie de posts las charlas que me han parecido más interesantes, aquellos hechos destacados e incluso, alguna que otra entrevista con Googlers, speakers o desarrolladores.


Además, si no queréis perder ningún detalle, también podéis seguir el evento creado en Google+ y el timeline en twitter. Así pues, comenzamos la serie hablando sobre lo sucedido en el día de hoy.

Durante el día de hoy, denominado University Day 1, ha tenido lugar la primera edición de sesiones, Hand-On Labs y Birds of a Feather (BoF).

Los primeros vistazos a las salas mostraban laboratorios repletos de desarrolladores, sentados incluso por los suelos. Según he podido constatar, el workshop de Advanced AngularJS a cargo de Igor Minar, Vojta Jina y Misko Hevery ha tenido un éxito abrumador. E igual suerte han tenido el resto de BoFs que han tratado sobre metodologías de desarrollo de aplicaciones Android, Raspberry Pi y el proyecto LeapMotion, Scala, Cassandra o Groovy, entre otros.
Respecto a las conferencias, no pretendo nombrarlas todas, pero de nuevo, Scala, Java EE o Spring han tenido especial protagonismo.

Por mi parte, asistí a dos interesantes conferencias. La primera presentaba Genymotion, una nueva propuesta para la emulación de Android. Presentada durante la edición parisina de Droidcon, cuenta ya con más de 350.000 usuarios y tal y como las demos han mostrado, el rendimiento promete ser espectacular.

En la segunda, Cyril Mottier, GDE en Android, fue el responsable de una excelente presentación acerca de Google Map v2 para Android, destacando las mejoras que la nueva edición del API presenta como Polylines, Flat Markers o Ground Overlays.
Y esto ha sido todo por hoy. Una reunión con algunos de los GDG españoles me obligo a dejar la conferencia sobre las 18:30, pero mañana empezamos de nuevo con mas fuerza.

Andres L. Martinez a.k.a almo   +almo | @davilagrau

Andrés a.k.a almo es responsable en Google de relaciones con desarrolladores en España.  Entre sus intereses se encuentran favorecer comunidades de desarrolladores de habla hispana, liderando programas estratégicos, contenidos de alta calidad para profesionales técnicos y favoreciendo un ecosistema alrededor de tecnologías software que incluya educación, empresas de base tecnológica e innovación social. Es además miembro asociaciones internacionales como IEEE, Computer Society y ACM.

Developer Bus 2013

En el último trimestre de 2013 iniciamos un proyecto llamado Developer Bus, una serie de eventos tipo hackaton con una componente de reality show. Con estos eventos, Google promueve el desarrollo local de aplicaciones útiles para las ...

Developer Bus 2013

En el último trimestre de 2013 iniciamos un proyecto llamado Developer Bus, una serie de eventos tipo hackaton con una componente de reality show. Con estos eventos, Google promueve el desarrollo local de aplicaciones útiles para las Pequeñas y Medianas Empresas (PyMES) de la región.
El Developer Bus es un concurso en cuatro ciudades de América Latina: Buenos Aires, Ciudad de México, Bogotá y Sao Paulo, en el que estamos reuniendo a talentosos desarrolladores, diseñadores y emprendedores para crear soluciones, utilizando tecnologías Google, dirigidas a PyMES.
Sabíamos que llegaríamos a muchos otros desarrolladores y entusiastas de tecnología en la región y en preparación para ello, gestamos otro proyecto subyacente; uno que involucra a expertos en nuestras comunidades locales, creatividad y mucho trabajo de diseño instruccional, validación y producción; para entregar a la comunidad de habla hispana cursos de alta calidad técnica, ágiles y divertidos.

Te presentamos Google Developers Hackademy

El primero de estos cursos, Introducción a Google Apps Script, fue creado y presentado por +Antonio Guzmán, uno de los organizadores de nuestro +GDG Androidtitlan en México. Es un curso dividido en cinco breves y emocionantes lecciones.
Si quieres empezar tu propia aventura con Google Apps Script, ve a tu sillón favorito con un café o un té y prepárate para disfrutar y aprender en Google Developers Hackademy:

¿Qué sigue?

Estamos trabajando en otros cursos para Google Developers Hackademy, introducción al Android SDK y Google Drive. A partir de ahí, dependerá de nuestros expertos y de las necesidades de nuestras comunidades.
Los estamos escuchando, ingresen a nuestra comunidad en Google+: Desarrolladores y no se pierdan los nuevos cursos en la serie, a través de Google Developers Live.

Fotografía Francisco Solsona
Francisco Solsona   +solsona | @solsona 

Francisco es gerente de relaciones para desarrolladores en América Latina norte para Google y se enfoca en fortalecer la comunidad de desarrolladores ejecutando programas estratégicos y empoderando a desarrolladores promoviendo eventos de alta calidad; así como fomentando su relación con inversionistas, empresas e instituciones educativas.