我在循环中发送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 ?
}
答案 0 :(得分:0)
可以在t.start()之后添加t.join()。 这会导致代码等待线程结束(已启动的单个代码)
答案 1 :(得分:0)
我建议使用retrofit。首先,您可以将json对象映射到模型以进一步工作。其次,您可以调用异步以及来自您必须声明要进行改造的界面的同步调用。我假设您使用的是REST服务器?那么它非常合适。请记住,在调用同步调用时,您阻止了UI线程,因此我建议使用异步调用。