Segunda APP para Android: Task Calendar

La aplicación se trata de un calendario de tareas que permite almacenar tareas agrupadas por etiquetas. Estas tareas se muestran en la pantalla principal a través de un FragmentActivity que permite cambiar entre las tareas de diferentes etiquetas arrastrando la pantalla de izquierda a derecha.

Estas tareas pueden añadirse, editarse o eliminarse desde los diferentes menús disponibles en la aplicación.

El menú principal es el de ajustes y cuenta con una gran cantidad de opciones. Las más sencillas son las que permiten elegir el orden en el que se mostraran las tareas, o cambiar el tema por uno blanco o negro, o solicitar la confirmación de salida.

Pero hay opciones avanzadas como la gestión de etiquetas en las que se puede elegir el nombre y color. Gestión de copias de seguridad de la base de datos en la memoria SD. Respaldo de las copias de seguridad en Dropbox.

Compartir la aplicación, puntuarla en Google Play o reporte de errores. Y términos de la licencia en un WebView

Clases

En total la aplicación cuenta con 21 clases para su funcionamiento, estando repartidas en 4 grupos: Activities, Adapters, Helpers y Utils.

 Activitis

Se usan en total 10 activities para mostrar la interfaz del programa, tres de ellas para la pantalla principal y el resto para el menú de opciones.

 Adapters

Hay 3 de ellos, son necesarios para personalizar la vista de los ítems dentro del ListView, para las tareas, etiquetas y backups.

 Helpers

Son 5 clases intermediarias que facilitan el uso de ciertos códigos repetitivos. Estos son la gestión a las bases de datos, la gestión de etiquetas y tareas con la base de datos, las preferencias almacenadas de forma automática por la PreferenceActivity, y gestión de backups.

 Utils

Aquí se encuentran 4 clases sueltas, son las de Tareas, Etiquetas, Backups y el AlertDialog para el cambio de color de las etiquetas.

 Ficheros XML

  •  En este grupo de fichero nos encontramos 12 layouts y 10 menus para las activityes.
  • Una web en HTML + css + imágenes en base 64 para mostrar la licencia en el WebView de forma local.
  • Los ficheros de Springs y arrays para mostrar la aplicación en ingles y español
  • El fichero setings para el PreferenceActivity.
  • Y unas 24 imágenes en 4 resoluciones para los distintos iconos que posee la app.

Errores conocidos

La aplicación tiene mas errores de los que yo desearía… a continuación cito de los cuales tengo constancia ordenados de peor gravedad a menor:

En la pantalla principal al intentar añadir, editar o eliminar las tareas hay muchos problemas. No es nada fácil refrescar los cambios en pantalla y realizar las operaciones correctamente. Después de muchas pruebas se ha conseguido que vaya mas o menos bien pero aun así hay ocasiones en las que el programa deje de funcionar correctamente y se cierra:

Para crear o editar tareas se ha tenido que reabrir la clase principal en vez ce cerrar la hija para de este modo forzar al refresco de los ítems. Al menos esta operación se realiza con un FLAG que hace que el funcionamiento parezca normal.

Al eliminar tareas falla si antes no has hecho scroll por todas las columnas…

Si se crea una tarea sin haber creado antes una etiqueta se cierra la aplicación.

La administración de backups solo copia la base de datos, no las configuraciones de los menús.

La sincronización de copias de seguridad con Dropbox ha acarreado muchísimos problemas. La API que tenían disponible (sacaron la nueva en febrero de 2013) solo permite usar el SDK de androide en su versión 9 o interior, eso ha causado que todas las activities que usaban clases mas avanzadas a esa versión haya habido que añadirles etiquetas de supresión de errores para que se permitiera la compilación.

Además en ocasiones al acceder al activity se cierra inesperadamente por problemas de la sesión de Dropbox.

Y los ficheros solo se sincronizan desde el móvil a Dropbox y no en orden contrario.

En tablets aparece un doble botón de menú, en mi tablet chino hasta tres…

El menú de puntuar la aplicación en Google Play “no funciona” porque la aplicación no esta en el market.

Descargas

Descargar código fuente y apk

Escriba aquí su comentario