gpt4 book ai didi

Android volley - 避免对服务器发出多个相同类型的请求?

转载 作者:行者123 更新时间:2023-11-29 19:40:58 24 4
gpt4 key购买 nike

我正在使用 Volley 将图像列表上传到服务器。这发生在服务中。上传图像后,我将其从列表中删除。当互联网连接中断时,就会出现问题。当互联网连接中断并再次出现时,我正在考虑将尚未上传的图像添加回请求队列。

这可能会导致同一图像的多个副本保存在服务器上,因为对同一图像的请求可能在获得响应之前已经完成。

我该如何解决这种情况?

最佳答案

我不太确定您为什么要使用服务来安排请求,因为 volley 会自动在单独的线程中运行它的请求。

不过,您只需添加监听器即可监听成功和不成功的请求结果。

您可以在使用 volley 安排请求后立即从列表中删除图像。如果成功,您可以按需要继续,如果失败,您可以简单地将它重新添加回您的列表。

public static Request getImageUploadRequest(final String image) {
Response.Listener<T> responseListener = new Response.Listener<T>() {
@Override
public void onResponse(T response) {
// do whatever you like
}
};

Response.ErrorListener errorListener = new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
// put the image back onto the list
SomeClass.addImageToList(image);
}
};

return new JsonArrayRequest(Request.Method.GET, YOUR_URL, null, responseListener, errorListener); // Use any subclass of Request you like
}

关于Android volley - 避免对服务器发出多个相同类型的请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38635037/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com