微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

运行AsyncTask的致命异常

如何解决运行AsyncTask的致命异常

尝试添加网址进行解析时遇到问题,我收到FATAL EXCEPTION: AsyncTask # 1错误,但我不明白为什么。

这是我解析数据的方式:

@Override
        protected ArrayList<TMOLectorClase> doInBackground(Void... voids) {
            String url = getIntent().getStringExtra("url");

            tmoLectorClases.clear();
            try {
                Document doc = Jsoup.connect(url).get();

                Elements data = doc.select("div");
                for (Element e : data) {
                    String urlRedireccionada = e.select("div.OUTBRAIN").attr("data-src");
                    try {

                        doc = Jsoup.connect(urlRedireccionada).get();

                        Elements datanuevo = doc.select("div.img-container.text-center");
                        for (Element e1 : datanuevo) {
                            String imgurl = e1.select("img").attr("src");
                            tmoLectorClases.add(new TMOLectorClase(imgurl));
                        }
                    }  catch (IOException ie) {
                        ie.printstacktrace();
                    }
                }
            }  catch (IOException e) {
                e.printstacktrace();
            }
            return tmoLectorClases;
        }

错误LogCat标记了这一行:

doc = Jsoup.connect(urlRedireccionada).get();

出现错误

Caused by: java.lang.IllegalArgumentException: Must supply a valid URL

发生的是,这个url变成了urlRedireccion,我尝试将图像从urlRedireccion加载到RecyclerView中。有人可以告诉我如何解决吗?调试代码,然后调试URL(如果有效):

enter image description here

解决方法

解决方案是使用重定向的url创建一个String

String nuevaUrl = Jsoup.connect(url).followRedirects(true).execute().url().toExternalForm();

然后,您将添加到您的Document

Document doc = Jsoup.connect(nuevaUrl).get();

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。