2013-10-01 85 views
0

我想要解析HTML页面以获取first.jpg链接,并将其链接设置为WebView,以便查看应用程序上的图像。我使用AsyncTask。它似乎工作,但我遇到了Try块的异常。在LogCat上它只显示ERROR PARSING ERROR(你可以看到,这就是我在Catch组中选择的方式)。但没有解释导致异常的原因。代码如下:HTML使用Jsoup解析,获取异常

@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

e.printStackTrace();在catch块会给你更多的细节 – upog

+0

除了发布的答案你也在更新uo doInbackground这是错误的。在onPostexecute中执行 – Raghunandan

+0

'但是没有解释什么导致异常,因为你没有登录。 – njzk2

回答

1
String icon = doc.select("img[src$=.jpg]").first().text(); 

在android系统maniefest文件 访问互联网这样将在<img>标签读取文本的许可。

您的代码应如下所示。

String icon = doc.select("img[src$=.jpg]").first().attr("src"); 
+0

+1是的我认为这个改变+修复的网址将做到这一点.... – Reimeus

0

您可以使用:

Log.e("ERROR", "PARSING ERROR", e); 

还为了记录消息e成立。

0

connect预计有效的URL。在方法参数

Document doc = Jsoup.connect("http://www.lolking.net/summoner/euw/42997801") 
0

取出"[url]"String你不能操纵View个非UI线程里面 - 在这种情况下AsyncTask。 这可能会导致问题:

TextView prova = (TextView)findViewById(R.id.searchedName); 
... 
WebView summonerIcon = (WebView)findViewById(R.id.webView1); 
summonerIcon.loadUrl(icon); 
0

是你给你的maniefest文件