Android在AsyncTask中调用多个Web服务

时间:2012-10-02 12:51:59

标签: android android-asynctask android-handler

我正在处理AsynTask,来自AsynTask的单个网址来电,但我希望在AsyncTask中依次调用两个网络服务,您能否发送一些代码或想法。

我的代码:

public class GetInstructionItems extends AsyncTask<String, Void, Boolean> {

    public ProgressDialog myProgressDialog = null;
    private Boolean authenticationResult = false;
    private String LOG = SurgicalHistoryAsynTask.class.getName(); 
    private String responseString = "getInstructionItemsResult";
    JSONObject totalResult;

    protected Boolean doInBackground(String... params) 
    {
        return getRespose(params[0]);
    }

    protected void onPostExecute(Boolean result) {

        myProgressDialog.dismiss();
        if (result) 
        {
            Log.d(LOG, "Response ::result "+result);

        }else{

            showAlertMsg(getString(R.string.response_fail));
        }
    }
    protected void onPreExecute() {

        if (!authenticationResult) {
            myProgressDialog = new ProgressDialog(getActivity());
            myProgressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
            myProgressDialog.setMessage("loading...");
            myProgressDialog.setCancelable(false);
            myProgressDialog.setProgress(100);
            myProgressDialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
            myProgressDialog.show();
        }
    }

    private boolean getRespose(String inputUrl){


        return true;
    }
}

1 个答案:

答案 0 :(得分:0)

protected Boolean doInBackground(String... params) 
{
    getRespose(params[0]);
    getRespose(params[1]);
    getRespose(params[2]);
    return true;
}

OR

class Responces
{
     boolean r1, r2, r3;
}


protected Responces doInBackground(String... params) 
{
    Responces r = new Responces();

    r.r1 = getRespose(params[0]);
    r.r2 = getRespose(params[1]);
    r.r3 = getRespose(params[2]);
    return r;
}