Spanish No ver el mensaje "Esperar o Cerrar aplicación"

Carlos Clemente

Member
Licensed User
Longtime User
Muy buenas,

Tengo un proceso que se conecta con Dropbox para descargar una BD SQLlite y luego la lee y la procesa.
Es un proceso que a veces tarde un minoto o mas y sale el tipico mensaje de "Esperar o Cerrar aplicación" ya que android cree que ha pasado algo.

Me gustaría saber como puedo controlar o deshabilitar ese maldito mensaje.

Gracias.
 

Carlos Clemente

Member
Licensed User
Longtime User
He encontrado en ayudas que la función que hago debo hacerlo con Threads.
Me podeis decir como se usa en basic4android ?

Gracias
 

rscheel

Well-Known Member
Licensed User
Longtime User
Podrías explicar mejor, ya que no se entiende mucho, si es que quieres bajar la bd al teléfono y luego hacer una SELECT a la BD eso mas o menos entiendo a lo que quieres decir, te podrías explicar mejor y mostrar el código.
 

dar2o3

Active Member
Licensed User
Longtime User
Buenas noches, no tengo ni idea que como controlar eso, de echo no creo que se pueda controlar, pero se me ocurre que quizás si lo haces desde un servicio te puedes evitar ese mensaje.
 

inakigarm

Well-Known Member
Licensed User
Longtime User
Supongo que el mensaje te aparece porque haces llamadas desde el thread principal y Android intenta evitar ese bloqueo

Las opciones q tienes son:
- Desactivar esta característica (https://www.b4x.com/android/forum/t...-networkonmainthread-exception.44760/#content, no sé hasta que versión de Android se puede utilizar este "hack" )
- Acceder a Dropbox de forma asícrona para no bloquear el thread principal (hay una libreria de @DonManfred que al basarse en httputils puede que sea asíncrona https://www.b4x.com/android/forum/t...-all-http-all-using-httputils2.56842/#content)
- Utilizar un thread adicional para la descarga diferente del principal (librería Thread)
 

Carlos Clemente

Member
Licensed User
Longtime User
Veamos la descarga del fichero se realiza correctamente. Luego recorrió varias tablas de la bd para actualizar la otra bd del programa.

En ese proceso que suele tardar un minuto es donde me sale que la aplicación se cerrara o si quiero esperar. Si le doy a esperar varias veces termina bien.

La función la he llamado desde un thread y sigue igual.
 

rscheel

Well-Known Member
Licensed User
Longtime User
utiliza BeginTransaction para agilizar la búsqueda en SQLITE.

Y rutea el proceso que hace la app, coloca un log para ver que esta enviando y que esta recibiendo.
 
Top