如何在java中调用同步webservice或在获得webservice响应后增加值i?

时间:2014-11-03 19:05:40

标签: java android

我在循环中发送post请求..我正在给你psedo代码。实际上我需要一些同步调用的基本示例。换句话说,在我的例子中10请求同时触发并获取Web服务结果。是否有任何调用synchronized类型的方法。我需要在获得Web服务响应时增加I的值。当I = 0时,它调用Web服务并获得响应然后它增加值.i = 1.不同时发送所有请求。一步一步发送。

for (int i=0;i<10 ;i++){
//get data from data base 
//get data from data base using i
JsonObject  data =SELECT from Data* where ID=i
//call post request in another thread
callpostresquest(data)

}


callpostresquest(JsonObject onj){


Thread t=new Theard(){
run (){
// call web service when I got response I call back one method 
callback(respone);
}

}t.start()
}

//在主屏幕中调用方法

getWebserviceresponse (String response){

//get the wevservice response ..Then I need to increase value of i variable  here how ?


}

2 个答案:

答案 0 :(得分:0)

可以在t.start()之后添加t.join()。 这会导致代码等待线程结束(已启动的单个代码)

答案 1 :(得分:0)

我建议使用retrofit。首先,您可以将json对象映射到模型以进一步工作。其次,您可以调用异步以及来自您必须声明要进行改造的界面的同步调用。我假设您使用的是REST服务器?那么它非常合适。请记住,在调用同步调用时,您阻止了UI线程,因此我建议使用异步调用。