我想從java android程序連接到http網站。 我正在試着這段代碼。但顯然,代碼不會通過「client.execute()」語句。 我已經在執行後評論過一個return語句,並且沒有通過該語句。 我錯過了什麼?來自Android的http連接
我曾嘗試非常相同的代碼,它沒有工作,所以我沒有複製完全相同的代碼形式Newboston,它仍然無法正常工作。
(代碼來自Newboston。)
在此先感謝您。
public class GetMethodEx {
public String getInternetData() throws Exception{
BufferedReader in=null;
String data=null;
try{
HttpClient client=new DefaultHttpClient();
URI website=new URI("http://www.mybringback.com");
HttpGet request=new HttpGet();
request.setURI(website);
HttpResponse response=client.execute(request);
// if(data==null)
// return "bfdvhf";
in =new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
StringBuffer sb=new StringBuffer("");
String l="";
String nl=System.getProperty("line.separator");
while((l=in.readLine())!=null){
sb.append(l + nl);
return "hfeuhfuie";
}
in.close();
data=sb.toString();
return data;
}finally{
if(in!=null)
{
try{
in.close();
return data;
}
catch(Exception e){
e.printStackTrace();
}
}
}
}
}
你如何調用getInternetData()?從活動? 只是一個建議:任何http請求應該運行一個線程UI的外部。使用AsyncTask。 – dougcunha
嘿, 是的,我只是從活動打電話。但即使我從一項活動中打電話,它應該可以正常工作嗎? 我已經準備好了我的代碼,但是這一條語句導致了一個問題。 –
在這行上放置斷點,'in = new BufferedReader(new InputStreamReader(response.getEntity()。getContent()));'和e.printStackTrace在catch中。當你運行你的代碼時會發生什麼? – Simon