私はPHP Webサービスを持っていて、それをthrowと呼びたいAsyncTask
..この段階では問題はありません..私の問題は、1つのクラスを拡張AsyncTask
してそれに渡し、多くのアクティビティで何度も呼び出すことuri
ですが、私はこれを行う方法がわからず、asynctask を呼び出す.. ヘルプ.. ありがとうwebservices
これは私がやろうとしたことですが、うまくいきません
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();
}
}
}
}