17 de agosto de 2012

Preferencias Compartidas

Si tu aplicación necesita guardar pocos datos, una base de datos puede resultar demasiado elaborado para ello. Para guardar datos primitivos – tales como los valores de la configuración de una aplicación: frecuencia actualización, fichero de tono de llamadas, etc – la forma mas sencilla es a través de las Preferencias Compartidas o Shared Preferences.

Sigue leyendo

Anuncios
9 de agosto de 2012

Informes de fallos. ACRA.

Tienes tu app lista, has hecho todas las pruebas posibles y, antes de lanzarla al mercado, quieres que se pruebe en varios dispositivos diferentes. Salvo que tengas un pastón como para comprarte muchos móviles y tablets, se la pasarás por correo a amigos para que la prueben, la usen, te digan lo que les parece, etc. Y entonces sucede: en unos dispositivos la app va bien y en otros directamente falla. Falla de Cierre Forzado. El vulgar ‘ha petado’, vamos.

Por supuesto, esto nos puede pasar a todos – y nos pasará no pocas veces. ¿Qué hacer? Si tienes suerte y tus amigos también desarrollan, puedes pedirles que conecten con Eclipse y te envíen los logs del error. Pero lo mas habitual es que no lo sean. ¿Cómo saber qué ha sucedido? La respuesta es Informes de Fallos.

Sigue leyendo

17 de julio de 2012

Trabajar con SMS

Trataremos en este artículo la gestión programática de SMS. O, dicho de otro modo, veremos cómo hacer que nuestra app “lea” y envíe SMS a nuestra conveniencia.

Sigue leyendo

10 de julio de 2012

Usando APIs (III)

Probando las “librerías”

Vamos a meternos ya a probar en una app simplona estas clases. El objetivo de esta app es simplemente ver cómo funcionan (y que funcionan, claro) estas clases diseñadas para tratar con las API mencionadas.

Sigue leyendo

9 de julio de 2012

Usando APIs (II)

Explicando las clases a usar

Cómo ya hemos dicho, todo el proceso se realizará dentro de los métodos de las AsyncTasks. Ello, empero, no implica que en dichas clases nos encontremos un tocho de código enorme y de difícil mantenimiento, por lo que dividiremos el proceso en trozos que encapsularemos en diferentes clases. Sigue leyendo

8 de julio de 2012

Usando APIs (I)

Introducción

Son muchas las apps que usamos a diario que emplean APIs (propias o de terceros) para suministrarse de los datos que precisan. Pensemos, por ejemplo, en los clientes de twitter, facebook y otras redes sociales. Dichas redes – aplicaciones web – tienen una serie de scripts “no visibles” que sirven datos a quienes les suministran los parámetros adecuados. Esos scripts son sus API, su forma de permitir a aplicaciones diferentes de los navegadores de internet que tengan acceso a sus datos.

Sigue leyendo

30 de mayo de 2012

Widgets de Escritorio

Vamos a tratar aquí de cómo desarrollar un widget de escritorio, que no es sino una app miniatura que puede incrustarse en otra app (como el Escritorio, por ejemplo) y que recibe actualizaciones periódicas.

Crearemos un widget que nos indique la hora.

Sigue leyendo

25 de mayo de 2012

Una de ubicación

Vamos a hacer una app sencillita y rápida que nos permita conocer un poco el funcionamiento de la ubicación en Android. Va a detectar nuestra ubicación, ya sea por medio del GPS o triangulando a través de nuestra wifi/conexión de datos y en la pantalla mostrará un enlace funcional a google maps con nuestras coordenadas, lo que nos permitirá comprobar al momento si la ubicación es correcta o no. Sigue leyendo

16 de mayo de 2012

Base de datos

¿Recordáis la app que contenía una lista en la que íbamos metiendo datos? Cuando cerrábamos la aplicación los datos desaparecían por no ser datos persistentes. La persistencia se puede lograr de 3 formas en Android.

  • Trabajando con ficheros
  • Trabajando con bases de datos
  • Trabajando con Preferencias

Trabajar con ficheros viene bien cuando se quiere guardar, por ejemplo, una copia de seguridad que mas tarde queramos restaurar. Tiene los inconvenientes habituales de los ficheros: a la hora de buscar no son lo mas eficientes.

Trabajar con Preferencias está bien para permitir que el usuario “personalice” la aplicación. En el móvil, por ejemplo, decidimos cada cuánto queremos que sincronice los datos con nuestra cuenta Google con Preferencias, aunque no lo sepamos. Siempre que una app tenga una opción de “ajustes”, normalmente una pantalla negra en la que el contenido está separado por grupos, estamos ante Preferencias. Quizá se podrían estirar un poco y lograr almacenar bastantes datos en ellas, pero no es para lo que están diseñadas y, por tanto, no será el planteamiento mas efectivo.

Las bases de datos las conocemos (¡o deberíamos!) todos. Eficientes para el almacenamiento y la recuperación de datos. En Android se puede usar, sin necesidad de meterle mas librerías ni nada, SQLite.

Sigue leyendo

9 de mayo de 2012

Comunicación entre actividades

Hasta el momento hemos hecho apps de una única actividad (Activity) cada una. La mayoría de aplicaciones que hemos visto tienen mas de una actividad. Por ejemplo, las apps de correos te muestran en una actividad la lista de correos, pero cuando pulsas en uno de ellos salta a otra actividad en la que te muestra todo el contenido de dicho correo. La primera actividad le pasó la información sobre el correo que seleccionaste a la segunda, y ésta ya se encargó de mostrarlo entero. Pues vamos a ver – de un modo muy simple – cómo hacer precisamente éso.

Sigue leyendo