2011-03-14 89 views
4

我在實施Android應用程序,我在網上API工作。有時我的應用程序連接到web服務器,但有時它會拋出異常,因爲java.net.UnknownHostException: Host is unresolved: webservername.com:80.我從api獲取json響應。爲什麼java.net.UnknownHostException:主機未解決:webservername.com:80?

我爲使用抓取代碼如下:

String queryResult = null; 
    HttpClient client = new DefaultHttpClient(); 
    HttpGet request = new HttpGet(); 
    try { 
      request.setURI(new URI(archiveQuery)); 
    } catch (URISyntaxException e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 
    //HttpResponse response = client.execute(request, new BasicResponseHandler()); 
      try { 
       queryResult = client.execute(request, new BasicResponseHandler()); 
      } 
      catch (ClientProtocolException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      } catch (IOException e) { 
       // TODO Auto-generated catch block 
       e.printStackTrace(); 
      }  
+1

運行在模擬器/設備中檢查broswer是否可以打開任何站點,互聯網連接速度慢或不可用......你可能會在模擬器中運行..和模擬器沒有網絡連接,所以這發生 – MKJParekh 2011-12-27 09:15:30

+0

改變你的主機名爲主機IP地址,這應該可以解決你的問題。 – Mukunda 2012-01-30 12:00:05

回答

0

我認爲這是你的服務器的DNS問題,根據您的意見。有時候你會ping,有時候你不會,但是在你的瀏覽器中它總是有效的?當然,這是一個服務器連接問題。

+0

是的,它可能是我運行應用程序的設備網絡連接。 – 2011-04-25 04:36:29

+0

將您的主機名更改爲主機IP地址,即可解決您的問題。 – Mukunda 2012-01-30 12:00:34

0

答案真的很簡單。您需要重新啓動emulator。退房this

0

只需重新啓動adb,在adt包中找到adb.exe,然後雙擊它。有些狗屎會發生在命令提示符處,並且你去了,重新啓動你的模擬器,它應該可以正常工作,

相關問題