Programación
Artículos y guías de programación para el sistema operativo Android.
Depuración de aplicaciones Android en GNU/Linux
- Detalles
- Categoría: Programación
- Publicado el Domingo, 29 Abril 2012 18:16
- Escrito por mimecar
En anteriores artículos hemos visto la forma de preparar el sistema para compilar y ejecutar los programas de Android. Aunque muchas veces es posible hacer las pruebas en el emulador no siempre es la forma más eficiente de depurar un programa. Por esta razón ayuda probar el programa en un dispositivo real que puede ser un teléfono o un tablet. Partiendo del típico programa “Hola mundo” veremos la forma de probarlo en ambos dispositivos bajo el sistema operativo GNU/Linux. Los pasos se aplican a Fedora 16 pero deberían funcionar en otras distribuciones sin problemas.
En el caso de no tener el sistema preparado puedes consultar el artículo Instalación del Android SDK en Fedora 16 x64. Si tu sistema es de 64 bits es necesario instalar algunos paquetes extras debido a que el SDK de Android está preparado para 32 bits.
Creamos un proyecto nuevo en Eclipse con Archivo, Nuevo Proyecto, Android Project
- Rellenamos los datos del proyecto y completamos el asistente (no importa los datos de la aplicación).
- Para ejecutar el programa pulsamos Ejecutar (Ctrl + F11).
Los dispositivos bajo prueba son:
- HTC Desire con Android 2.3.7 (API 10).
- bq Kepler con Android 2.3.1 (API 9).
Para esta prueba el proyecto usará el API 9 del SDK. Dependiendo del dispositivo tendremos dos formas de configurarlos para que los detecte Eclipse.
- HTC Desire: comprobamos que está activado el modo de depuración
- Ajustes > Aplicaciones > Desarrollo > Depuración USB.
- Hay que activarlo antes de conectar el teléfono al PC.
- Bq Kepler: comprobamos que está activado el modo de depuración
- Desconectamos el tablet del PC.
- Ajustes > Aplicaciones > Desarrollo > Depuración USB.
Si todo es correcto, cuando ejecutemos el programa en Eclipse veremos una ventana similar a la siguiente:
Es posible que en algún momento queramos hacer una captura de la pantalla de los dispositivos. Si el dispositivo no tiene acceso root, se pueden hacer las capturas usan el SDK de Android. Abrimos una consola, pasamos a la carpeta de Android\tools. Ejecutamos la aplicación ddms, seleccionamos el dispositivo y hacemos la captura con Ctrl + S.
Capturando el teléfono y el tablet tenemos:
Ejecutamos el programa en Eclipse con Ctrl + F11 y vemos el resultado en ambos dispositivos.
Liberado Android SDK r17
- Detalles
- Categoría: Programación
- Publicado el Lunes, 02 Abril 2012 06:00
- Escrito por mimecar
El equipo de desarrollo de Android ha liberado recientemente una nueva revisión del SDK en concreto la revisión 17. Esta liberación incluye varias novedades relacionadas con Lint y con el emulador. Lint es una herramienta de programación que hace análisis del código que hemos programado. A efectos prácticos permite detectar errores comunes en el código o código poco optimizado de diferentes tipos como aspectos de seguridad, rendimiento o usabilidad. Esta herramienta complementa al compilador de Java y se puede ejecutar dentro de Eclipse o mediante la consola.

Las novedades añadidas en la revisión 17 del SDK son:
- Añadida una comprobación para Lint que permite detectar si estamos usando un método que no se encuentra en la versión del SDK que estamos usando. Por ejemplo si ponemos como requisito mínimo de la aplicación la versión 4 de la API (Android 1.6) y usamos un método que está en versiones posteriores recibiremos un aviso al ejecutar Lint. Para más información consultar el siguiente enlace.
- Añadidas 40 reglas de comprobación que afectan al rendimiento de la aplicación, al uso de layouts y la gestión de archivos y del manifiesto. El listado completo está en el siguiente enlace.
- Añadida la posibilidad de desactivar los avisos de Lint en el código escrito en Java. Para más información consultar el siguiente enlace.
- Mejorada la generación de reportes en HTML y XML y la integración con Eclipse. Para más información consultar el siguiente enlace.
Los cambios en la generación de los proyectos son:
- Si usamos librerías de terceros es posible que aparezcan duplicados si varias librerías usan un elemento común. En la revisión 17 el sistema se encargará de prevenir el uso de elementos duplicados. Para más información consultar el siguiente enlace.
- Añadido soporte para la creación de vistas personalizadas con atributos personalizados.
- Añadida la posibilidad de ejecutar partes del código en modo depuración mientras que el resto del código se ejecuta de forma normal.
Por último, las mejoras en el emulador incluyen:
- Soporte de la arquitectura x86 en Windows y Mac OS X. Esto hace que el emulador se ejecute prácticamente a la velocidad nativa del sistema (en lugar de la velocidad "normal" del emulador). Esta función es experimental y puede dar errores. Sus requisitos son que la CPU del PC tenga funciones de virtualización y ejecutar una imagen de Android para x86. De momento esta función no funciona en GNU/Linux.
- Soporte experimental de Multi-Touch.
Referencias: Updated SDK Tools and ADT revision 17
Nuevo panel de estadísticas para programadores en el Android Market
- Detalles
- Categoría: Programación
- Publicado el Martes, 28 Febrero 2012 21:12
- Escrito por mimecar
Cuando un usuario pasa de usar aplicaciones a programarlas puede distribuir los programas en varios servidores llamados Market. La tienda oficial de Android es el Android Market y se encuentra instalada de serie en los terminales que llevan Android. Para que un terminal pueda llevar el Android Market es necesario que tenga un rendimiento mínimo, por esta razón algunos tablets no lo llevan incluido de serie. Hay otros Markets para Android como Appbrain o Amazon y requieren normalmente de la instalación de una aplicación que lleva la tienda. Si nos centramos en el Android Market tenemos varios elementos que facilitan la distribución y venta de nuestro programa:
-
Los bugs que aparezcan en la aplicación se pueden reportar usando el propio Market.
-
Las actualizaciones de nuestro programa se distribuyen de forma automática en los dispositivos que hayan instalado una versión anterior.
-
Podemos ver estadísticas y ver el efecto de una nueva versión sobre el número de usuarios e instalaciones.
Inicialmente las estadísticas permitían ver información relacionada con la distribución por países, la versión de la plataforma de Android que usa el usuario final o el tipo de dispositivo. Recientemente se ha liberado una actualización que añade a los parámetros anteriores nuevas estadísticas:
-
Ver instalaciones por usuarios / dispositivos únicos.
-
Ver el número de instalaciones / desinstalaciones diarias.
-
Ver el número de actualizaciones.
Junto con las nuevas estadísticas se ha modificado la apariencia del bloque de estadísticas de forma que sea más cómoda de usar. En la siguiente imagen podéis ver la estructura que tiene la versión liberada.

Referencias: http://android-developers.blogspot.com/2012/02/new-app-stats-for-publishers-on-android.html
Mockups del Contador de viajes
- Detalles
- Categoría: Programación
- Publicado el Martes, 03 Enero 2012 20:15
- Escrito por mimecar
Depués de pensar la información que quiero mostrar en las pantallas tengo preparados varios mockups (prototipos) de las pantallas que tendrá la aplicación. Tendremos 2 pantallas para controlar los viajes que quedan (de forma manual o automática), una para añadir / modificar la información de un bono y por último un widget que mostrará de forma resumida la información.
Nuevo bono
Incluye información básica del bono como el nombre y el número de viajes. Si queremos un control automático de los viajes que gastamos es posible definir los días. Por ejemplo, usamos el bono los lunes, martes y jueves. Al indicarlo en esta pantalla el programa restará un viaje esos días y avisará cuando no queden más viajes para completar la semana.

Resumen (manual y automático)
Muestra un resumen de varios bonos al mismo tiempo. Si el control es manual será posible "sumar" y "restar" viajes
.png)
.png)
Widget
Por último se mostrará la información del resumen en un widget para no tener que entrar a la aplicación de normal. El objetivo es que el teléfono se encarga de controlar los viajes y nos avise al finalizar la semana si tenemos que recargar.

Programación en Android. Contador de viajes
- Detalles
- Categoría: Programación
- Publicado el Lunes, 02 Enero 2012 09:00
- Escrito por mimecar
Una aplicación que tengo pendiente de programar para Android desde hace tiempo es un contador de viajes para el transporte público. En algunas ciudades, los bonos de metro y autobús han pasado de tener los viajes que quedan impreso en un papel a estar "contenidos" en una tarjeta RFID, que no muestra información de los viajes. Si no viajamos todos los días es fácil que olvidemos los viajes que quedan. Para solucionar este problema haré una pequeña aplicación para Android.
Las funciones que tiene que cumplir son:
- Almacenar los viajes que tenemos en cada una de las tarjetas RFID (incluyendo una fotografía).
- Hacer una estimación de la fecha en la que nos quedaremos sin viajes.
- Añadir / restar viajes de forma manual mediante botones o de forma automática: si viajamos todos los días de la semana, la resta del viaje puede ser automática.
A medida que la aplicación cumpla las funciones anteriores es posible añadir nuevas funciones.









