Estoy desarrollando una aplicación de Android y estoy haciendo un trabajo pesado (trayendo datos de una página web en línea y analizándolo para almacenarlos en la base de datos) en un servicio. Actualmente, lleva unos 20 minutos y para este momento mi IU está atascada. Estaba pensando en usar un hilo en servicio para que mi UI no se atasque pero da error. Estoy utilizando el siguiente código:¿Cómo iniciar un nuevo hilo en un servicio?
Thread thread = new Thread()
{
@Override
public void run() {
try {
while(true) {
sleep(1000);
Toast.makeText(getBaseContext(), "Running Thread...", Toast.LENGTH_LONG).show();
}
} catch (InterruptedException e) {
Toast.makeText(getBaseContext(), e.toString(), Toast.LENGTH_LONG).show();
}
}
};
thread.start();
Este código simple está dando error de tiempo de ejecución. Incluso si saco el ciclo while, todavía no está funcionando. Por favor, ¿alguien puede decirme qué error estoy cometiendo? Aparentemente, copié este código directamente de un libro electrónico. Se supone que debe funcionar, pero no es así.
¿Qué es el "error de tiempo de ejecución"? – theomega
Si bloquea el hilo de UI por más de 5 segundos en Android, obtendrá un error. Entonces, definitivamente necesitas un hilo nuevo para terminar tu tarea en segundo plano. – Zelimir
La aplicación simplemente falla. ¿Es esta la manera correcta de crear un hilo? –