PDA

Ver la Versión Completa : duda subir datos a servidor


manolazo
22/03/16, 14:43:18
Buenas, tengo una duda.

Hay alguna forma de que cuando se cierre una aplicación bien sea por cierre forzado, o porque se queda colgado el teléfono, o por cualquier otra circunstancia, que se puedan subir datos a un servidor a través de volley justo en ese momento para no perderlos?

mocelet
22/03/16, 14:56:04
Depende de la causa, si el teléfono se ha colgado difícilmente vas a poder hacer nada. Si la app se ha cerrado por una excepción no tratada podrías capturar todas las excepciones no tratadas con el handler por defecto para excepciones (http://developer.android.com/intl/es/reference/java/lang/Thread.html#setDefaultUncaughtExceptionHandler(jav a.lang.Thread.UncaughtExceptionHandler)) del hilo principal y ahí hacer lo que necesites (comprobar que los últimos datos son correctos, guardarlos, etc.).

De todas formas, otra opción es ir guardando en local los datos, en SharedPreferences o SQLite y, de vez en cuando, subirlo al servidor. Si la app casca no pasa nada porque los datos en local siguen ahí, la próxima vez que arranque subes los datos actualizados y listo.

kriogeN
22/03/16, 14:57:10
Yo antes usaba ACRA, y veo que sigue en desarrollo y recientemente actualizada para ser compatible con MM, lo cual me alegra.

https://github.com/ACRA/acra

Sólo tienes que poner unas pocas líneas al principio del código en la clase Application y cada vez que tu aplicación de un FC se producirá el evento. Es bastante configurable, puedes hacer además que le salga un cuadro de dialogo al usuario para que describa que estaba haciendo, o que simplemente salga un Toast con el mensaje que quieras, por ejemplo "Lo siento, algo ha ocurrido", en lugar del molesto "Cierre forzado. Enviar o Cerrar". También que la aplicación se vuelva a autoejecutar sin que salga nada.

Todo esto claro es para cierres forzados, si lo que se cuelga es el móvil no hay nada que hacer, ya que ahí el SO deja de responder.

EDIT: Se adelantó mocelet.

Dexafree
22/03/16, 22:57:33
Hay una libreria (hecha por un español, además) que trae el tema implementado, con una activity por defecto y muy configurable:

https://github.com/Ereza/CustomActivityOnCrash

También permite ver el log del crash, y si quieres puedes implementar la lógica de enviar el log a un servidor (o hacer lo que quieras con el).

Os la recomiendo a todos, es de esas cosas que va bien tener localizadas por si algun dia la necesitas :ok:

kriogeN
23/03/16, 08:50:07
Hay una libreria (hecha por un español, además) que trae el tema implementado, con una activity por defecto y muy configurable:

https://github.com/Ereza/CustomActivityOnCrash

También permite ver el log del crash, y si quieres puedes implementar la lógica de enviar el log a un servidor (o hacer lo que quieras con el).

Os la recomiendo a todos, es de esas cosas que va bien tener localizadas por si algun dia la necesitas :ok:

Muy interesante, además se puede combinar con ACRA según pone en la documentación.

manolazo
23/03/16, 11:40:48
Muchas gracias, le echare un ojo a dos posibilidades.