我想在单击按钮时通过http发送一些数据,每次用户单击按钮时,应该将一些数据添加到队列中,然后它将通过http发送,在得到响应后我想将其从队列中删除然后对队列中的下一个项目执行相同的操作。
我知道如何将项目添加到队列中,并且我尝试了异步任务来调用 http. 如果用户多次单击按钮的问题,我如何确保在第一个 http 完成之前不会调用队列中的下一个项目。如果应用程序也在后台,我希望操作完成。
这是 doInBackground 方法中的异步代码:
@Override
protected Boolean doInBackground(Void... params) {
try {
msgResponseIS = getInputStream(generatedLink);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
if (msgResponseIS != null){
BufferedReader r = new BufferedReader(new InputStreamReader(
msgResponseIS));
StringBuilder total = new StringBuilder();
String line;
try {
while ((line = r.readLine()) != null) {
total.append(line);
}
setResponseValue(total.toString());
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
return true;}
else
return false;
}