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.

Anuncios

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s