Una de desksurfing (tú a Pocketwidget y yo a Frogtek)

desksurfing1

El desk surfig consiste en hacer intercambios profesionales. Durante unos días un miembro del equipo se traslada a otra empresa y se integra y trabaja como un miembro más de la plantilla, luego los papeles se intercambian y es un empleado de la otra empresa el que viene a trabajar como parte de tu equipo.

Es una forma de aprender diferente basada en adquirir experiencia viendo el día a día de otra gente y su forma de trabajar desde dentro.

Así que cuando Guillermo (el CTO de Frogtek) me propuso hacer un intercambio con ellos no me lo pensé dos veces…

Lee el resto de esta entrada

ZgzPolen: una aplicación Android paso a paso

zgzpolen

En pasado jueves (14-Julio-2011) ejercí de maestro de ceremonias en seminario sobre Android organizado por Exitae en y en el que colaboraron el Ayuntamiento de Zaragoza y El Androide Libre.
Lee el resto de esta entrada

Android: ejemplos de llamadas a Intents

Los filtros de Intents son, desde mi punto de vista, una de las características más potentes de Android. Nos permiten reutilizar componentes de otras aplicaciones usando muy pocas líneas de código.

“¿Para que voy a programar una Activity de captura de fotos cuando puedo llamar a la de la aplicación de cámara incluida en el sistema?”

Os dejo un ejemplo sencillo en el que se realizan varias llamadas para ilustrarlo:
Lee el resto de esta entrada

Taller de Android en Zaragoza GTUG

zgtug_android
Pedro Fraca (Señor X) y Jose Cortes (@jbeerdev), dos de los cracks de Frogtek, me comentaron que estaban organizado el Grupo de Usuarios de Tecnologías Google en Zaragoza (@gtug_zaragoza) y que habían pensado en montar algo referente a Android para el primer evento. Viniendo de donde venía la propuesta no me lo pensé dos veces y enseguida me subí al barco.

Montamos un taller de cuatro horas para explicar las nociones básicas de Android desarrollando una aplicación desde cero hasta su publicación en el Market (la app permite ver los mensajes del grupo y ya puedes descargarla en tu móvil)

Pedro consiguió a través de la fundación Joven Empresa Innovadora que nos dejaran el Zaragoza Digital Water Pavillion para el evento.

Al ser un dia por la tarde, entre semana y con partido de fútbol, pensaba que “seriamos cuatro frikis”, pero la respuesta de la gente nos sobrepasó. Cuando llevábamos 75 inscripciones tuvimos que cerrar el cupo ya que la sala era para unas 30 personas (las dividimos en dos sesiones: 6 y 7 de abril).

Por lo que leí en Twitter y los resultados de la encuesta que pasé al final creo que la gente quedó contenta.

Personalmente yo lo pasé muy bien, llamarme masoka, pero de vez en cuando uno tiene añoranzas de dar clase ;-) además el prepararlas me ayuda a aclarar las ideas.

También me sirvió para reencontrarme con viejos conocidos, conocer a mucha gente interesante y desvirtualizar a unos cuantos nicks: Tuvimos a gente de Cachirulo Valley como @ivanloire y @plablojimeno, a gente que ayudo a organizarlo como misstechin, a asiduos de mi timeline como @eduardofilo, a no tan asiduos @Chusezgz y @Luis_solanas, a un ejercito de frogtekianos (&Cia) @jbeerdev @rubenbpv @papajulio @gualison @TuchyESPB,  a otros much@s (gracias por todo)

Mención especial para @rubenbpv, que entre cervezas y tapas me descubrió EL MANIFIESTO ;) y me enseño lo cool que puede ser un Android con Miui

De izquierda a derecha (Rubén Bernárdez, Jose Cortes, Pedro Fraca, Francho Joven)

De izquierda a derecha (Rubén Bernárdez, Jose Cortes, Pedro Fraca, Francho Joven). Foto de Pablo Jimeno

Si tuviera que resumir la experiencia en una sola frase diría (aunque suene a topicazo): creo que ha sido el comienzo de una bonita amistad ;-)

P.D: Ya suenan campanas para el próximo zGTUG ¿quién dijo Google App Engine?

Artículos relacionados:

Programadores de aplicaciones móviles en "Comando Actualidad" de TVE

Un buen día unos periodistas de RTVE llamaron a Pocketwidget (la empresa donde trabajo) preguntando por Francho Joven. Habían visto la entrevista que me hicieron en GlobTV y querían saber si estaríamos dispuestos a mostrar la vida de un programador de aplicaciones para móviles en su programa Comando Actualidad.

A pesar de mi reticencia inicial (aunque no lo parezca no me gustan demasiado estos saraos) me convencieron. Así que aprovechamos un viaje que tenía que hacer a la oficina de Madrid para encontrarnos en el AVE. Mila y su cámara (ya perdonarás, pero se me ha olvidado tu nombre) subieron en Guadalajara y me “sorprendieron” haciendo una videoconferencia en el tren con todo el arsenal tecnológico desplegado… a partir de ese momento me colocaron un micro, y se dedicaron a seguirme durante todo el día grabando todo lo que hacíamos. Con mis compañeros de Madrid intentamos explicarles lo que es una empresa de software y en que consiste este mundo de los smartphones. La verdad es que fue toda una experiencia.

El resultado fueron estos minutos en el programa “Usar y Tirar” que se emitió el pasado 24-02-2011 en la primera cadena de Televisión Española

Lee el resto de esta entrada

Android: Usando ContactsContract para sacar el listado de teléfonos de la ageda

choose_a_phone_deviceUno de los primeros códigos de Android que teclee fué un buscador de contactos… anda que no han pasado cosas desde entonces ;)

Uno de los principales cambios introducidos en Android 2.0 (Api 5) fue la nueva organización de los contactos y la superclase ContactsContract que permite acceder a los datos de la agenda desde diferentes puntos de vista.

El siguiente ejemplo ilustra uno de ellos. Se trata de crear una Activity que permita seleccionar un teléfono de la agenda para que sea utilizado por otra. Para ello hemos creado un ListActivity que mediante una consulta a la agenda obtiene el listado de teléfonos disponible junto con el nombre del contacto.

Cuando el usuario pulsa sobre uno de ellos, la actividad del selector se cierra devolviendo el número de teléfono elegido.

Lee el resto de esta entrada

Ejemplo de uso de la libreria de pagos de Paypal para Android

paypal_device
En uno de los proyectos Android del trabajo tenemos que incorporar pagos a través de Paypal.

La primera idea que hemos tenido ha sido intentar usar un componente webview que cargara el formulario Paypal, sin embargo la web no se mostraba todo lo bien que era de esperar.

Investigando alternativas, he visto que había una librería oficial de PayPal nativa para Android que facilita mucho las cosas, y con muy pocas lineas de código se puede crear un pago a través de este sistema.

El siguiente código es un ejemplo sencillo de uso, basado en el ejemplo que trae el SDK de Paypal. Le he limpiado el código dejando un solo ejemplo de uso (el pago sencillo), y lo he reconvertido para que use una tarea asíncrona en vez de un handler (no se porque, pero me resulta mas sencillo de usar).

La idea es que la librería debe inicializarse en segundo plano, ya que conectacon los servidores de Paypal. Una vez todo está ok, creamos un boton de pago, que al ser pulsado lanza una Activity que incorpora la propia librería pasando los datos del pedido, y esperamos su respuesta.

Para configurar el entorno de pruebas (sandbox) deberemos seguir las instrucciones de este manual.
Lee el resto de esta entrada

Código Android: TextView con sugerencias de direcciones postales

Para mejorar la experiencia de usuario es una buena idea añadir ayudas como las sugerencias de autocompletado. En este post vamos a ver un código de ejemplo que va mostrando sugerencias con direcciones postales reales conforme escribimos en un TextView.

Para ello usaremos la clase Geocoder incluida en el SDK que iremos invocando conforme el usuario teclee su texto.

Existen varios enfoques para poder hacer esto: @jbeerdev me ha sugerido usar un SuggestionProvider asociado a un SearchManager tal y como describen en el blog de Frogtek, es sin duda una idea interesante que tendré que investigar.

La solución que he implementado se basa en crear un Adapter que se encarga de obtener la lista de sugerencias y asociarlo a una vista de tipo AutoCompleteTextView. Cuando el texto va cambiando realizaremos llamadas al adapter para que recargue la lista de sugeridos en un segundo plano (gracias a un AsyncTask).

El funcionamiento de este enfoque me ha sorprendido gratamente ya que el tiempo de respuesta es menor del que me esperaba. También creo que la solución basada en SearchManager es bastante interesante y merece ser estudiada.

¿Conocéis algún otro enfoque posible? vuestros comentarios serán bienvenidos ;-)
Lee el resto de esta entrada

Truco Android: acceder a los datos de la red wifi y telefonía

En algunos casos puede ser interesante conocer datos de la red que está usando. Las clases TelephonyManager y WifiManager nos facilitan conocer esta información.

El siguiente código hace uso de ellas para averiguar si la wifi está activada (y sus datos) así como información sobre la red telefónica que esta usando como el operador (MCC/MNC, nombre y país) o tipo de red.

También configura un botón que abre la configuración wifi del sistema.
Lee el resto de esta entrada

Hace dos años…

cumpleAndroid
Hace dos años yo era administrador de sistemas y programador web.
Hace dos años me enteré de la existencia de Android.
Hace dos años decidí dar un cambio de rumbo a mi carrera laboral.
Hace dos años dejé mi trabajo y me tomé unos meses sabáticos.
Hace dos años decidí aprender a programar Android.
Hace dos años empecé leer todo lo que podía sobre Android.
Hace dos años leía muchos artículos sobre Android en inglés.
Hace dos años descubrí and.roid.es, el primero de los blogs sobre Android en nuestro idioma
Hace dos años que leo and.roid.es diariamente (por supuesto desde mi móvil Android).

… Hace dos años empezó todo:

Gané el I concurso de Idéas Movistar-Movilforum
Lancé mi primera aplicación al Android Market: ZgzBus
Incluso aparecí en el periódico y la tele hablando de Android
Pero, lo mas importante de todo: a día de hoy me gano la vida programando Android :)

Sirva este artículo mostrar mi agradecimiento a toda la la gente que me ayudó y apoyó de una u otra forma en este momento tan decisivo de mi vida.

Seguir

Get every new post delivered to your Inbox.

Únete a otros 512 seguidores