Я не могу понять, как заставить этот код работать в AsyncTask, я искал несколько примеров, но он продолжает сбой. Я нашел этот простой код в Интернете, и я хочу его адаптировать, чтобы получить URL-адрес из текстового поля и получить код HTML. Я узнал, что это должно быть в AsyncTask, иначе это не сработает, но даже в AsyncTask я не могу заставить его работать. Вот мой код:Как я могу сделать этот код AsyncTask?
String ETURL = ETURLInput.getText().toString();
try {
URL TestURL = new URL(ETURL);
BufferedReader bufferReader = new BufferedReader(
new InputStreamReader(TestURL.openStream()));
String outputCode;
while ((outputCode = bufferReader.readLine()) != null)
TVCode.setText(outputCode);
bufferReader.close();
} catch (Exception e) {
TVCode.setText("Oops, something went wrong.")
}
}
Это код, который необходимо выполнить внутри ActionListener. Поэтому, когда я нажимаю кнопку, он должен выполнить этот код в AsyncTask.
Надеюсь, кто-то может мне помочь в этом.
Как угадать, ваш 'AsyncTask' рушится, потому что вы пытаетесь обновить пользовательский интерфейс (с помощью ваших' setText' вызовов) от 'doInBackground' , Ваша ошибка из 'LogCat', и код для вашей попытки переместить этот код в' AsyncTask' поможет. – PPartisan
@PPartisan Спасибо за ваш ответ. Я пробовал это, и я получаю следующие ошибки: вызвано: java.net.MalformedURLException: протокол не найден: ,,,, java.lang.RuntimeException: Произошла ошибка при выполнении doInBackground() ,,,,, java.lang. SecurityException: Permission denied (отсутствует разрешение INTERNET?). Я правильно использую интернет-разрешение, поэтому я понятия не имею, почему он дает эту ошибку. – JI38D
В этом случае вы видели другие ответы, связанные с этим сообщением об ошибке? То есть [Разрешение отклонено (отсутствует разрешение INTERNET?)] (Http://stackoverflow.com/questions/25135595/permission-denied-missing-internet-permission) – PPartisan