4

HTTP GET/POSTを使用してWebからXMLデータをフェッチしています。今、私はそれを簡単な方法で(つまり、脅迫することなく)行いました。

以下のリンクによると、私はスレッド http://www.ceveni.com/2009/09/sample-progress-bar-dialog-in-android.htmlのプログレスバーダイアログでそれを実装しようとしました

しかし、WebからXMLをフェッチする終了時刻を知るにはどうすればよいですか(つまり、スリープ時間と、プログレスバーダイアログボックスを閉じるタイミング

問題について詳しく説明します=>アクティビティで、ユーザーが[データの取得]ボタンをクリックすると、[進行状況バー]ダイアログボックスが表示され、取得が正常に完了した場合にのみ非表示になります。

これは「 AsyncTask 」で実行できると思いますが、この問題にその概念を使用する方法がわかりません。

では、どうすればよいですか?

4

1 に答える 1

5
    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;
        }

    }

}
于 2010-09-15T09:34:30.083 に答える