2014-11-13 4 views
-1

Я пытаюсь создать веб-приложение с помощью компонента WebView. Мне нужно изменить HTML, прежде чем я покажу его пользователю, поэтому я попытался загрузить его, изменить его и загрузить. Я сделал это, используя HTTP-ответ и получив классы, и из-за серии исключений мне пришлось поместить их в AsyncTask. Теперь проблема в том, что это решение работает, но у него небольшая задержка, потому что мне нужно дождаться окончания потока, а затем я могу вызвать метод WebView.load() для дома и других ссылок. Это действительно уродливо ... есть ли у вас какие-либо решения, чтобы предложить мне? Возможно, что-то без задач Async?Html download with Async Task Android

ответ

0

В документации на Android указано, что НИКОГДА НЕ выполнять сетевые операции в основном потоке (иначе это даст вам исключение). Ожидание AsyncTask для завершения фонового рабочего процесса - это естественный процесс, аналогичный рассмотрению проблемы перед тем, как дать решение (ваш мозг должен вычислить его на заднем плане, если хотите).

0

Вы будете ждать в любом случае. Сервер не может предоставить информацию мгновенно. Но если вы сделаете запрос не в AsyncTask, он заблокирует ваше приложение. И тогда андроид предложит остановить его. Тебе это не нужно. Вместо этого вам нужно показать что-то вроде диалога процесса.