Android- Web(Asynctaskを使用)およびProgressBar関連の問題からXMLデータを取得する
-
02-10-2019 - |
質問
HTTP get/postを使用して、WebからXMLデータを取得しています。今、私はそれを簡単な方法でやった(つまり、奴隷なし)。
以下のリンクによると、私はスレッドを使用したProgress Barダイアログでそれを実装しようとしましたhttp://www.ceveni.com/2009/09/sample-progress-bar-dialog-in-android.html
しかし、WebからXMLを取得する終了時間についてどうすれば知るようになりますか。 スリープ時間と、いつ進行状況バーを却下するべきかダイアログボックスは何ですか)
私の問題=>アクティビティの詳細については、ユーザーが[データの取得]ボタンをクリックすると、[進行状況バー]ダイアログボックスが表示され、フェッチが正常に完了した場合にのみ消滅する必要があります。
これはでできると思います」asynctask「しかし、この問題にその概念を使用する方法を知らないでください。
では、どうすればいいですか?
解決
public void onClick() {
new FetchTask(context).execute(null);
}
public class FetchTask extends AsyncTask<Object, Object, Object > {
private ProgressDialog dlg;
private Context ctx;
public FetchTask(Context context) {
ctx = context;
}
@Override
protected void onPreExecute() {
dlg = new ProgressDialog(ctx);
dlg.setMessage("Loading....");
super.onPreExecute();
}
@Override
protected void onPostExecute(Object result) {
dlg.dismiss();
if ( result instanceof Exception ) {
// show error message
} else {
// display data
}
super.onPostExecute(result);
}
@Override
protected Object doInBackground(Object... params) {
try {
// String rawData = doPost("yourUrl");
// XMLTree data = yourParser.parse(rawData);
// return data;
} catch ( Exception e ) {
return e;
}
}
}
所属していません StackOverflow