我有PHP的web服務,我想叫它拋出AsyncTask
..在這個階段我沒有問題..我的問題是,我想讓一個類延伸AsyncTask
並通過它的webservices
的uri
叫它多次在許多活動但我不知道如何做到這一點,並調用的AsyncTask ..任何幫助.. 謝謝如何調用asynctask很多很多服務在android
這是我曾嘗試但它不起作用
public class GetNetworkData extends AsyncTask<String, Void, String>{
String uri;
private OnPostExecuteListener mPostExecuteListener = null;
public static interface OnPostExecuteListener
{
void onPostExecute(String result);
}
GetNetworkData(
String Url,
OnPostExecuteListener postExecuteListener) throws Exception {
uri = Url;
mPostExecuteListener = postExecuteListener;
if (mPostExecuteListener == null)
throw new Exception("Param cannot be null.");
}
@Override
protected String doInBackground(String... params) {
// TODO Auto-generated method stub
JSONObject param=null;
String result = null;
HttpClient httpClient = new DefaultHttpClient();
HttpHost httpHost = new HttpHost("192.168.3.111",80);
HttpPost httpPost = new HttpPost(uri);
httpPost.addHeader("Content-Type", "application/json; charset=utf-8");
try
{
//HttpEntity bodyEntity = new StringEntity(param.toString(), "utf8");
//httpPost.setEntity(bodyEntity);
HttpResponse response = httpClient.execute(httpPost);
HttpEntity entity = response.getEntity();
if (entity != null) {
InputStream instream = entity.getContent();
BufferedReader reader = new BufferedReader(
new InputStreamReader(instream));
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null)
sb.append(line + "\n");
result = sb.toString();
instream.close();
}
}
catch (Exception e) {
// TODO: handle exception
}
return result;
}
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
if (mPostExecuteListener != null)
{
try {
JSONObject json = new JSONObject(result);
mPostExecuteListener.onPostExecute(result);
} catch (JSONException e){
e.printStackTrace();
}
}
}
}
url不一樣每個url都有自己的方法名稱 – Basant 2012-04-18 13:03:54
在這種情況下,你可以在你需要的時候創建你的'GetNetworkData'類的實例。 – Rajesh 2012-04-18 13:05:05
回答更新包括使用 – Rajesh 2012-04-18 13:20:28