Совершенно новый для разработки Android и Java в целом, поэтому прошу прощения за любительское невежество и отсутствие терминологии.
Я работаю над приложением Android, которое включает в себя выборку веб-страниц в виде строк с использованием метода, основанного на коде, доступном по адресу http://www.spartanjava.com/2009/get-a-web-page-programatically-from-android/.
Это занимает небольшое, но заметное количество времени, но работает нормально. Это вызвано нажатием кнопки в пользовательском интерфейсе. Поскольку приложение не отвечает во время выборки данных, у меня есть тост, который должен предупреждать пользователей, прежде чем это произойдет.
Вот, по сути, то, что делается (не сам код, а просто иллюстрация):
public void buttonPressed(View view)
{
Toast.makeText(this, "Getting Data!", Toast.LENGTH_LONG).show();
//See the page linked above for the code in this function!
String page = getPage("http://www.google.com/");
Toast.makeText(this, "Data Retrieved!", Toast.LENGTH_LONG).show();
}
К сожалению, тост «Получение данных» появляется только после того, как метод getPage завершен, и появляется очень кратко, прежде чем он будет скрыт тостом «Извлеченные данные».
Как этого избежать, когда появляется тост "Получение данных", затем запускается метод getPage, а затем появляется тост "Полученные данные"?
Любые предложения будут высоко оценены. Я ожидаю, что решение включает в себя какие-то потоки или синхронизацию, но даже не знаю, с чего начать поиск подходящего учебника ...
Грег