在android中脱机时如何调用API?
当互联网连接可用时,我成功地调用了API, 当没有internet连接时,如何调用相同的API 基本上, 我想知道在线和离线同步? 用户可以添加数据,但只有在互联网可用的情况下,数据才会推送到服务器。在android中脱机时如何调用API?,android,api,synchronization,Android,Api,Synchronization,当互联网连接可用时,我成功地调用了API, 当没有internet连接时,如何调用相同的API 基本上, 我想知道在线和离线同步? 用户可以添加数据,但只有在互联网可用的情况下,数据才会推送到服务器。 我该怎么做?如果您使用REST服务,您可以阅读。这是关于使用改造实现客户端的讨论。如果使用Volley,您可以使用本文来实现基于OkHttp的缓存系统,该缓存系统也可以从Volley中使用 我在这里报告代码的一部分。阅读本文以获得完整的代码,并根据您的需要进行调整 // Add all inter
我该怎么做?如果您使用REST服务,您可以阅读。这是关于使用改造实现客户端的讨论。如果使用Volley,您可以使用本文来实现基于OkHttp的缓存系统,该缓存系统也可以从Volley中使用 我在这里报告代码的一部分。阅读本文以获得完整的代码,并根据您的需要进行调整
// Add all interceptors you want (headers, URL, logging, stetho logs)
OkHttpClient.Builder httpClient = new OkHttpClient.Builder()
.addInterceptor(provideOfflineCacheInterceptor())
.addNetworkInterceptor(provideCacheInterceptor())
.cache(provideCache());
...
private Interceptor provideOfflineCacheInterceptor() {
return chain -> {
Request request = chain.request();
if (!isConnected()) {
CacheControl cacheControl = new CacheControl.Builder()
.maxStale(7, TimeUnit.DAYS)
.build();
request = request.newBuilder()
.removeHeader(HEADER_PRAGMA)
.removeHeader(HEADER_CACHE_CONTROL)
.cacheControl(cacheControl)
.build();
}
return chain.proceed(request);
};
}
这对我的API在离线时没有帮助你在使用改型吗?我在使用okhttp和截击你的问题很广泛,回答它需要描述如何做很多事情和/或设计一个相当大的程序。虽然很可能有办法做到这一切,但如果你描述一下到目前为止你做了什么,以及你遇到了哪些具体问题,你就更有可能得到答案。显示您的代码,并描述您想要的确切行为,以及该行为与当前代码的不同之处。包括任何错误的文本。你给出的细节越多,你可能得到的答案就越多。有关更多信息,请查看和。