0
我想用这个代码从服务器获取一些数据:我如何在线程中运行Webservice代码?
public class Webservice {
public static String readUrl(String url, ArrayList<NameValuePair> params) {
try {
HttpClient client = new DefaultHttpClient();
HttpPost method = new HttpPost(url);
if (params != null) {
method.setEntity(new UrlEncodedFormEntity(params));
}
HttpResponse response = client.execute(method);
InputStream inputStream = response.getEntity().getContent();
String result = convertInputStreamToString(inputStream);
return result;
}
catch (ClientProtocolException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
return null;
}
private static String convertInputStreamToString(InputStream inputStream) {
try {
BufferedReader reader = new BufferedReader(new InputStreamReader(inputStream));
StringBuilder builder = new StringBuilder();
String line = "";
while ((line = reader.readLine()) != null) {
builder.append(line);
}
return builder.toString();
}
catch (IOException e) {
e.printStackTrace();
}
return null;
}
}
但有一些延迟,并在应用程序暂停,所以我想运行的线程的代码,但是当我试图做到这一点,我得到了一些错误,例如我不能返回的结果或...
谢谢你,但我该如何使用PARAMS –
看一看这一http://stackoverflow.com/questions/7294533/passing-parameters-to-asynctask问题 –