在Android上获取Web服务请求的正确方法

时间:2012-06-04 09:22:53

标签: android service web android-asynctask asynctaskloader

我只是想知道哪种是使用HTTP请求从Web服务获取数据的最佳方法。使用AsyncTask或AsyncTaskLoader

我正在使用活动上使用LoaderManager的AsyncTaskLoader,但是在配置更改时遇到问题,尤其是方向更改。它阻止加载器调用OnFinish()。

我也尝试过AsyncTask,它更加灵活和独立,在我之前仍在2.2上的项目上运行良好吗?由于AsyncTaskLoader在3.0 --- 4.0中更推荐 我很感激你的意见。

1 个答案:

答案 0 :(得分: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();
}
    }

//完成!!!!!!!!