Android的递延Web请求

问题描述:

是什么力量让像递延简单okhttp3 Web请求的最佳方式:Android的递延Web请求

是被尽快执行时,作为客户端上线,然后才处理导致
Request request = Request.Builder().url(url).post(body).build(); 
Response response = client.newCall(request).execute(); 

例如,客户端在本地更改数据,并且应该将此更改发布到服务器上。但是有些情况下用户会将其脱机,但我们仍然需要处理它。

您可以使用广播接收器,它可以侦听互联网connectivity changes,并可以使用延迟库来推迟请求Jdeferred

如果延期使用太多的工作和矫枉过正,你可以使用conutdownlatch和 等到单独的线程,直到连接改变,但等待时间可以很大,所以明智地选择。您可以考虑CompletableFuture。但是,这是可用的API 24只

让我知道如果你需要更多的澄清。

+0

如果应用程序关闭会怎么样?此请求是否会在下次公开时执行? –

+0

nope,在这种情况下,请在db或某个文件中保留您的请求,当应用程序重新在您的应用程序类中查找这些请求并再次安排它们时 –