私は asynctask を作成し、文字列データを取得しています:
View.OnClickListener btnClk = new View.OnClickListener() {
@Override
public void onClick(View v) {
if (btnGetData.getId() == ((Button) v).getId()) {
Object obj = new FetchTask(Main.this).execute((Integer) null);
}
}
};
私の仕事:
public class FetchTask extends AsyncTask<Object, Object, Object> {
private Context ctx;
private String xml;
public FetchTask(Context context) {
ctx = context;
}
@Override
protected void onPreExecute() {
DialogDownload_Ring = ProgressDialog.show(Main.this, "Download...",
"Fetching XML data...");
DialogDownload_Ring.setCancelable(true);
DialogDownload_Ring.setOnCancelListener(new OnCancelListener() {
@Override
public void onCancel(DialogInterface dialog) {
// TODO Auto-generated method stub
cancel(true);
}
});
super.onPreExecute();
}
@Override
protected void onCancelled() {
super.onCancelled();
}
@Override
protected void onPostExecute(Object result) {
if (result instanceof Exception) {
DialogDownload_Ring.setMessage("Download failed!");
} else {
DialogDownload_Ring.setMessage("Succesfully Downloaded!");
}
DialogDownload_Ring.dismiss();
super.onPostExecute(result);
}
@Override
protected Object doInBackground(Object... params) {
try {
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(URL_Local);
HttpResponse httpResponce = httpClient.execute(httpPost);
HttpEntity httpEntity = httpResponce.getEntity();
xml = EntityUtils.toString(httpEntity);
return xml;
} catch (Exception e) {
return e;
}
}
}
オブジェクトobjからxmlデータを取得するには? obj.toString() が機能していません。それ以外の場合は、asynctask 文字列プロパティを作成します (AsyncTask 文字列、文字列、文字列を拡張します) 動作していますが、xml データを取得した後にプログレスバーが開始されましたが、私も理解していません。お願い助けて。PS申し訳ありませんが、私の英語は苦手です..