3

HTTP リクエストを使用して Web サービスからデータを取得する最良の方法はどれだろうと思っていました。AsyncTask または AsyncTaskLoader の使用

アクティビティで LoaderManager を使用して AsyncTaskLoader を使用していますが、構成の変更、特に向きの変更があると問題が発生します。ローダーが OnFinish() を呼び出すのを停止します。

より柔軟で独立した AsyncTask も試しましたが、まだ 2.2 だった以前のプロジェクトでうまく機能しますか? AsyncTaskLoader は 3.0---4.0 でより推奨されているため、ご意見をお寄せいただければ幸いです。

4

1 に答える 1

1

AsyncTask の場合、タスクを開始する場所から以下に
new asnktask(youractivity.this).execute(); 記述し、このクラスを記述します

private class asnktask extends AsyncTask<Void, Void, Integer> {


    private Context context;    
    private ProgressDialog mProgressDialog;

    public asnktask(Context _context) {
        context =_context;
    }

    @Override
    protected void onPreExecute() {
        mProgressDialog = new ProgressDialog(this.context);
        mProgressDialog.setMessage("Loading wait.....");
        mProgressDialog.setIndeterminate(true);
        mProgressDialog.setCancelable(true);
        mProgressDialog.show();
    }

    @Override
    protected Integer doInBackground(Void... params) {
//Do stuff of getting web service response
        return 1;
    }

    @Override
    protected void onPostExecute(Integer result) {
        mProgressDialog.dismiss();
}
    }

//終わり!!!!!!!!

于 2012-06-04T10:12:57.487 に答える