在android中调用栈中的web服务

在android中调用栈中的web服务,android,web-services,Android,Web Services,嗨,我正在开发android应用程序。我正在调用web服务从服务器获取数据。现在在一个活动中,我在onCreate方法上调用了大约15-20个web服务。现在,我想以这样一种方式对它进行编码,即在接收到第一个服务的响应之后,只有另一个web服务调用。但我不知道如何维护它。欢迎提供任何帮助或建议。 谢谢。很简单 您必须使用AsyncTask类 扩展这个类 重写以下方法 i donBackground此方法将在您首次启动AsyncTask时运行 ii onPostExecute当doInBackgr

嗨,我正在开发android应用程序。我正在调用web服务从服务器获取数据。现在在一个活动中,我在onCreate方法上调用了大约15-20个web服务。现在,我想以这样一种方式对它进行编码,即在接收到第一个服务的响应之后,只有另一个web服务调用。但我不知道如何维护它。欢迎提供任何帮助或建议。 谢谢。

很简单

您必须使用AsyncTask类

扩展这个类 重写以下方法 i donBackground此方法将在您首次启动AsyncTask时运行 ii onPostExecute当doInBackgroun完成其工作时,此方法开始执行

运行异步类

说明: 您只需在doInBackground中调用web服务,然后在onPostExecute中执行另一个AsyncTask,它在doInBackground中有另一个服务调用

概要:从onPostExecute执行AsyncTrask类,并在doInBackground中调用webservice

这里我给你一些代码片段:

 class ExecuteRest1 extends AsyncTask<Void, Void, Void> {

    @Override
    protected Void doInBackground(Void... params) {
        //Call your first web service here
        return null;
    }

    @Override
    protected void onPostExecute(Void result) {
        new ExecuteRest2.execute();
    }
  }

 class ExecuteRest2 extends AsyncTask<Void, Void, Void> {

    @Override
    protected Void doInBackground(Void... params) {
        //Call your second web service here
        return null;
    }

    @Override
    protected void onPostExecute(Void result) {
        new ExecuteRest3.execute();
    }
  }

//And so on....

Siraj:谢谢你的建议。现在我的问题是在for循环中调用3个web服务。那么如何执行executest1类呢??我必须在for循环中执行它吗?您不能多次执行单个引用,因此如果您想多次执行ExecuterTest1类,则必须在for循环中创建其引用,例如:在循环中{myRef=new ExecuterTest1;myRef.execute;}
new ExecuteRest1.execute();