2013-10-01 117 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文件