単純...
あなたはAsyncTaskクラスを使用する必要があります。
- 、以下の方法 (I)doinBackground(あなたが最初のAsyncTaskを起動したときに、このメソッドが実行されます) (ⅱ)onPostExecute(doInBackgrounがその作業を完了すると、このメソッドが実行を開始を上書き
- このクラスを拡張)
Asyncクラスを実行します。
説明: あなただけdoInBackgroundに呼び出すWebサービスを行うとonPostExecuteで、そのdoinBackgroundに別のサービスコールを持つ別のAsyncTaskを、実行します。
要約:onPostExecuteからAsyncTraskクラスを実行し、doInBackgroundでwebserviceを呼び出します。 onCreateで
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....
():
new ExecuteRest1.execute();
のSiraj:提案のためのThanxsここ
私はあなたにいくつかのコードスニペットを与えています。今私の質問は私はforループで3つのWebサービスを呼び出しています。それでExecuteRest1クラスを実行する方法は?私はforループでそれを実行する必要がありますか? –
1回だけrefrenceを実行することはできませんので、ExecuteRest1クラスを2回以上実行するには、forループでrefを作成する必要があります。たとえば、以下のようにします:in loop {myRef = new ExecuteRest1(); myRef.execute();} –