2011-10-14 29 views
0

我編寫了一個簡單的程序,用於檢索谷歌主頁。代碼如下: 無法以編程方式檢索網頁

HttpConnection conn = (HttpConnection) Connector.open(url, Connector.READ_WRITE); 
conn.setRequestMethod(HttpConnection.GET); 
int responseCode = conn.getResponseCode(); 
if(responseCode == HttpConnection.HTTP_OK){ 
    InputStream data = conn.openInputStream(); 
    StringBuffer raw = new StringBuffer(); 
    byte[] buf = new byte[4096]; 
    int nRead = data.read(buf); 
    while(nRead > 0){ 
     raw.append(new String(buf, 0, nRead)); 
     nRead = data.read(buf); 
    } 
    dest.updateDestination(raw.toString()); 

} 
else 
    dest.updateDestination("responseCode="+ Integer.toString(responseCode));    
    } 
    catch(IOException e){ 
     e.printStackTrace(); 
     dest.updateDestination("Exception:"+e.toString()); 
    } 

這是我的主屏:

MenuItem getDataAction = new MenuItem("GetData", 100, 10){ 
     public void run(){ 
      String URL = "http://www.google.com"; 
      ServiceRequestThread svc = new ServiceRequestThread(URL, (MyScreen) 
        UiApplication.getUiApplication().getActiveScreen()); 
      svc.start(); 
     } 
    }; 
    addMenuItem(getDataAction); 
} 

public void updateDestination(final String text){ 
    UiApplication.getUiApplication().invokeLater(new Runnable(){ 
     public void run(){ 
      output.setText(text); 
     } 
    }); 
} 

當我運行我在模擬器上的應用程序,我得到的是被抓爲異常異常:java.io.IOException異常:收音機關閉我正在使用eclipse IDE。我應該改變日食或模擬器中的任何屬性。爲什麼我得到這個例外。解決辦法是什麼。謝謝

回答

3

在模擬器菜單中,轉至模擬 - >網絡屬性,查看可用網絡以確保「覆蓋範圍」被打勾。在模擬設備上,進入管理連接菜單並確保您已啓用移動網絡。

+0

現在我得到的輸出爲responsecode:302。再次說明這是爲什麼發生。謝謝至少它來到這裏 – Pramod

+1

HTTP代碼302是重定向。它應該給你重定向指向的地址,所以如果你遵循,你應該有正確的頁面。 – jprofitt

+0

對不起,你能解釋我多一點嗎 – Pramod