我想解析HTML页面以获取first.jpg链接,并设置其链接到WebView,以便在应用程序上查看图像。我使用AsyncTask。它似乎工作,但我在Try块上遇到异常。在LogCat上它只显示了ERROR PARSING ERROR(你可以看到,这就是我在Catch组中选择的方式)。但没有解释导致异常的原因。代码如下:
@Override
protected String doInBackground(String... params) {
TextView prova = (TextView)findViewById(R.id.searchedName);
Document doc;
try {
doc = Jsoup.connect("[url]http://www.lolking.net/summoner/euw/42997801")
.userAgent("Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22")
.timeout(3000).get();
String icon = doc.select("img[src$=.jpg]").first().text();
WebView summonerIcon = (WebView)findViewById(R.id.webView1);
summonerIcon.loadUrl(icon);
} catch (Exception e) {
Log.e("ERROR", "PARSING ERROR");
}
return null;
}
答案 0 :(得分:1)
String icon = doc.select("img[src$=.jpg]").first().text();
将获取<img>
代码中的文字。
您的代码应如下所示。
String icon = doc.select("img[src$=.jpg]").first().attr("src");
答案 1 :(得分:0)
您可以使用:
Log.e("ERROR", "PARSING ERROR", e);
为了记录消息e
成立。
答案 2 :(得分:0)
connect
需要有效的URL
。删除方法参数
"[url]"
String
Document doc = Jsoup.connect("http://www.lolking.net/summoner/euw/42997801")
答案 3 :(得分:0)
您无法操纵非UI线程中的View
- 在本例中为AsyncTask
。
这可能会导致问题:
TextView prova = (TextView)findViewById(R.id.searchedName);
...
WebView summonerIcon = (WebView)findViewById(R.id.webView1);
summonerIcon.loadUrl(icon);
答案 4 :(得分:0)
你是否允许在android maniefest文件中访问互联网 在你的maniefest文件中像这样