jueves, diciembre 30, 2010

Microwave calculator, mi primera aplicación para Android

Desde que salió Android, y más desde que tengo el Nexus One, pensé en desarrollar una aplicación simplemente para probar si era muy complicado hacerlo, como un reto.

Hoy ese reto llega a su fin. La aplicación que he desarrollado se llama Microwave calculator. Permite hacer conversiones entre dBm y W, entre parámetros de reflexión (VSWR, coeficiente de reflexión y pérdidas de retorno) y entre frecuencia y longitud de onda. Es decir, es una calculadora de microondas que puede ser útil a ingenieros que trabajen en el mundo de la RF.

Os muestro unos pantallazos:







Para instalaros la aplicación, seguid este enlace desde el móvil o escanead el siguiente código:



Si tenéis algún problema para instalar la aplicación, probad a habilitar Ajustes->Aplicaciones->Origenes desconocidos.

Algunas preguntas y respuestas sobre este software:

¿Por qué no lo coloco en el Market, que hace todo más sencillo?

Porque es simplemente una aplicación de prueba. No creo que vaya a tener ningún éxito, no quiero ganar nada con ella, no quiero gastarme 25 € en colocarla en el Market. Además, para colocarla en el Market hay que leer todavía más documentación, firmar la aplicación, llevar un control de versiones... cosas que no me interesan mucho porque no soy desarrollador, simplemente era un reto. Quizá esto cambie en el futuro, pero de momento es así.

¿Con qué versiones de Android funciona?

Sólo lo he probado con Froyo (2.2.1), pero no uso funciones del SDK avanzadas, así que imagino que en todas. Debería funcionar también en GingerBread (2.3). Una limitación es que la pantalla debe ser WVGA, ya que si no desaparecen elementos, porque no caben. Tengo entendido que es la resolución más típica de los móviles con Android. Desde luego es la del Nexus One.

¿Por qué me pide acceso al teléfono y a la tarjeta SD?

Es un fallo de las versiones antiguas del SDK, la aplicación no usa nada de eso. Para eliminarlo debería limitar su uso a partir de Donut (Android 1.6) y además tocar cosas del layout, ya que lo he intentado y todos los botones se mueven. Sería dedicarle más tiempo y no tengo ánimos ahora mismo.

¿Sabes que el teclado virtual tapa botones?

Sí, lo sé. No he logrado hacerlo mejor. Tengo algunas ideas para evitar esto, pero suponen más desarrollo y me he cansado un poco. Para quitar el teclado una vez el texto está introducido basta pulsar la tecla de menú durante un par de segundos. Es muy útil, no sólo para esta aplicación.

¿Cuánto tiempo te ha llevado desarrollarla?

Pues no mucho. No he contado el número de horas, pero han sido unos cuatro o cinco días dedicándole de seis a ocho horas. Y todo esto contando con instalar el SDK, el Eclipse, leer documentación y tal. La verdad es que he usado mucho los ejemplos de la web oficial de desarrollo de Android y para el diseño de las pantallas he usado Droiddraw, una aplicación web para diseñar aplicaciones de Android muy intuitiva.

Al principio pensé en usar el App Inventor, que seguro simplificaría todo, pero las operaciones matemáticas con cajitas son un infierno, y no genera código Java para luego rellenar los métodos. Es una pena, porque tiene muy buena pinta y simplificaría mucho los desarrollos.

Esta era la primera vez que desarrollaba una aplicación para un móvil, y la verdad es que ha sido una experiencia interesante. Es sencillo si sabes Java, no hay que pagar nada, el IDE es gratuito, funciona en múltiples sistemas operativos (yo he desarrollado bajo Linux) y la verdad es que estoy seguro que es difícil que lo hagan más sencillo. Algún problema he tenido con la disposición de los elementos en pantalla, a pesar de Droiddraw, los botones radio tienen algunas limitaciones.

¿Por qué has hecho la aplicación en inglés?

Apenas hay texto en la aplicación y creo que cualquiera que trabaje con RF usa esos conceptos en inglés. Y así tiene más difusión, hay más mercado en inglés que en castellano.

¿De dónde has sacado esos iconos tan molones?

El icono de la aplicación lo he sacado de Androidicons. Los que están en las pestañas los he sacado de glyphish. Ambos tienen licencia Creative Commons de atribución, así que los podéis usar libremente (poniendo enlace como yo acabo de hacer, claro).

¿Me puedes dar el código fuente?

Claro. Mándame un correo a la dirección que aparece en la parte superior derecha del blog. Me gustaría licenciarlo como código libre (GPL, por ejemplo) pero me da mucha pereza subir el código a un servidor. Así que quien lo quiera me lo puede pedir para hacer lo que quiera con él. Aviso, no es una maravilla de código y he usado muchas cosas de los ejemplos de Google.

No hay comentarios: