Я разрабатываю приложение для Android, и я выполняю тяжелую работу (принося информацию с веб-страницы в Интернете и анализируя ее для хранения в базе данных) в службе. В настоящее время он занимает около 20+ минут, и за это время мой пользовательский интерфейс застрял. Я думал использовать поток в сервисе, поэтому мой пользовательский интерфейс не застревает, но он дает ошибку. Я использую следующий код:
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();
Этот простой код дает ошибку времени выполнения. Даже если я выберу цикл while, он все равно не работает. Пожалуйста, может кто-нибудь сказать мне, какую ошибку я делаю. Видимо, я скопировал этот код непосредственно из электронной книги. Это должно работать, но его нет.