LectorRSS: Versión 2.0.3

Después de un año y algunas actualizaciones de LectorRSS en lo que va de 2013, vuelvo a poner una entrada en el blog.

Primero un pequeño repaso a la actualización principal, la 2.0, que supuso el paso al uso de fragments para adaptar LectorRSS a, principalmente, las pantallas de la tablets.
Esto vino motivado por la compra de una Edison, una tablet de 10 pulgadas, que me ha permitido probar los cambios en estos aparatos más allá de los emuladores.

El código no estaba preparado para el cambio y yo tampoco. No me había interesado hasta ese momento por los fragments y tuve que escribir una gran parte del programa de nuevo mientras aprendía esta nueva forma de trabajar con la interfaz gráfica de usuario.

Debido a todo esto hay errores que estaban solucionados anteriormente y que han motivado que esta sea la tercera iteración de esta versión.

En esta ocasión tenía pensado arreglar sólo un problema que se da únicamente en las tablets, o dispositivos en los que LectorRSS use los fragments.
El error consiste en que si se borraba la carpeta ‘Nuevas’ y, seguidamente, se volvía a crear aparecían las entradas anteriores sin importar qué canales se hayan adherido en esta ocasión a esta carpeta.
Al intentar acceder a alguna de estas viejas entradas se produce un error ya que, en realidad, han dejado de estar disponibles.

Al probar esto me dí cuenta que el programa autoactualizar aunque se esté usando y LectorRSS no está preparado para ello, con lo que se puede producir un cierre forzado.
Para evitar esto uso una preferencia que marca si alguna de las activitys del programa se está mostrando.
Cada vez que entramos en una activity se marca que se muestra, es un valor boolean que se pone a true, y cada vez que se oculta se marca que se puede autoactualizar, el valor boolean se pone a false. Lo primero se hace en el método onResume y lo segundo en el onPause.
El problema es que con todos los cambios que había hecho sólo tenía esto en la primera activity y en la de añadir canales.

El error anterior me lleva al tercero que va en esta versión 2.0.3 y que, en realidad, sólo he disminuido un poco el que se produzcan los cierres forzados, o eso espero.
El fallo está en el uso de las preferencias que uso de forma interna para tomar distintas decisiones en el funcionamiento de LectorRSS, como lo de autoactualizar.
Uso las preferencias para saber si un canal está unido a la carpeta ‘Nuevas’ o si se ha de autoactualizar. Además había otra que indica si se ha designado un canal para mostrar siempre la página web por defecto en vez de la descripción proporcionada por cada entrada. Como esto no está en uso lo he eliminado y es con esto con lo que espero que los cuelgues sean menos.
El problema está en que se produce un nullpointerException al consultar la clase que he creado como punto de acceso a las preferencias y no soy capaz de reproducir ese error ni en los dispositivos que poseo , la Edison con Android 4.1 y el Blade con 2.2, ni en los emuladores que he creado. Ni instalando el programa de cero ni con instalaciones antiguas, con lo que he de usar el viejo método de la prueba y el error.

Y creo que por hoy nada más.

LectorRss:Ventas, instalaciones, ingresos….Febrero 2012

Esto decía en el último artículo sobre la vida comercial de LectorRss:

Por fin vienen los datos de enero, que siguen en la estela de lo marcado en el primer mes y medio de vida de LectorRss. Pocas descargas, escasas instalaciones que permanecen en los teléfonos, menos uso y prácticamente nula recaudación. Pero aquí sigo, duro y a la encía.

Y puedo usar ese mismo párrafo, cambiando el tiempo de vida de la aplicación, para presentar los datos de febrero. Tan poco están cambiando las cosas que, probablemente, después de publicar los resultados de marzo me vaya hasta junio para publicar los siguientes.
Pero bueno, vamos a ello:
Sigue leyendo