почему я не могу загрузить ни одну html страницу любого веб-сайта? (я использую android studio) - PullRequest
1 голос
/ 01 февраля 2020

public class MainActivity extends AppCompatActivity{

Для загрузки html страницы, Это даже не возвращает не удалось

        public class DownloadTask extends AsyncTask<String,Void,String>{
            @Override
            protected String doInBackground(String... urls){

                String result = "";
                URL url;
                HttpURLConnection urlConnection = null;

                try{

                    url = new URL(urls[0]);
                    urlConnection = (HttpURLConnection) url.openConnection();
                    InputStream in = urlConnection.getInputStream();
                    InputStreamReader reader = new InputStreamReader(in);
                    int data = reader.read();
                    while(data!=-1){

                        char current = (char) data;
                        result+=current;
                    }

                    return result;


                } catch (MalformedURLException e) {
                    e.printStackTrace();
                } catch (IOException e) {
                    e.printStackTrace();
                }
                return "failed";
            }
        }

Когда я выполняю его в OnCreate , я ничего не получаю в Logcat (Здесь я печатаю переменную, в которой я храню html страницу.)

1 Ответ

1 голос
/ 01 февраля 2020

Как видно из вашего класса, вы не передаете ни один параметр (URL) для обработки.

вам необходимо создать параметризованный конструктор внутри вашего класса для передачи данных. как показано ниже,

    public class DownloadTask extends AsyncTask<String,Void,String>{
        private String url1;
            public DownloadTask(String url1){
                this.url1=url1;
            }
    //rest of your code
    try{

                        url = new URL(url1);
    }catch(Exception e){}
//rest of your code
    }

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...