我有一个Android活动,我使用AsyncTask
调用Web服务,当数据收到成功时,我需要更新从Web服务收到的每一行或项目,来自另一个的数据网络服务。第二个Web服务基于来自第一个Web服务的数据进行调用。它是这样的:
protected String doInBackground(String... params) {
try
{
String line="";
// String ur = "http://"+ServerDetails.hostServer+"/appservices.svc/TaskQuanityList?MaterialID=9336&ProjectNo=51&TaskNo=51." ;
String ur = "http://"+ServerDetails.hostServer+"/appservices.svc/grn?po="+PONum;
Log.d("URL", ur);
// Replace it with your own WCF service path
URL json = new URL(ur);
URLConnection jc = json.openConnection();
BufferedReader reader = new BufferedReader(new InputStreamReader(jc.getInputStream()));
line = reader.readLine().toString();
Log.d("LINE",line);
line=line.replace("\\\"", "\"");
line=line.substring(1, line.length()-1) ;
JSONArray array=new JSONArray(line);
for(int i=0; i < array.length(); i++) {
JSONObject tmpJson=array.getJSONObject(i);
lstdrpItem=new ArrayList<DropItem>();
StoreAsync storeasc=new StoreAsync();another webservice
storeasc.execute(tmpJson.getString("MaterialNo"));//-->Here I am calling second webservice
ItmGrn=new GrnData(tmpJson.getString("lblRowIdField"),tmpJson.getString("MaterialName"),tmpJson.getString("MaterialNo"),tmpJson.getString("RecievedQty"),tmpJson.getString("qty"),tmpJson.getString("Conversion_Factor"),tmpJson.getString("GRN_NO"),tmpJson.getString("Good_Qty"),tmpJson.getString("Retain_Qty"),tmpJson.getString("Rejected_Qty"),tmpJson.getString("Challan_Qty"),tmpJson.getString("RecStore_No"),tmpJson.getString("Brand_Id"),lstdrpItem);
lstGrn.add(ItmGrn);
Log.d("Material Name",tmpJson.getString("MaterialName"));
}
}
catch(Exception e)
{
Log.d("ERRROR--->",e.getMessage());
}
return "" ;
}
现在的问题是,它继续执行循环迭代而不等待第二个Web服务。现在我的问题是如何让它等到第二个Web服务获取数据并继续循环中的剩余迭代?