java - 如何在使用 retrofit 2 时显示旋转图标以获取异步 Restful 调用的响应

标签 java android rest mobile retrofit2

我已经使用 Square/Retrofit Restful 框架从 Restful 服务获取数据,它的工作原理非常棒,代码 fragment 如下所示:

FooService restInterface =  new RestAdapter.Builder().setEndpoint(FooService.URL).build().create(FooService.class);
    restInterface.getAllFoos(new Callback<FooModel>() {
        @Override
        public void success(FooModel model, Response response) {
                //get a list of Foo instances.
            }
            updateUI();
        }

        @Override
        public void failure(RetrofitError error) {
                //log errors.
        }

    });

我知道这是一个异步调用,但是当 retrofit 忙于在后台工作时,我可以在顶部有一个旋转的图标吗?以防网络不可用。

还可以设置超时,以便在时间到时提示继续等待或中止任务的选项吗?

我注意到这个网站上有一些东西很接近:Is it possible to show progress bar when upload image via Retrofit 2 ,但仍然无法弄清楚该怎么做。此外,我的要求可能更简单。

最佳答案

是的,这是完全可能的。

您可以在调用端点之前或之后调用某种 startSpinner() 函数。然后,在 success()failure() 中,您可以调用某种类型的 stopSpinner() 函数。

至于超时功能,您应该在底层 HTTP 客户端而不是 Retrofit 上设置超时。如果您不想使用默认超时,您可以阅读有关设置自定义超时的更多信息 here .

关于java - 如何在使用 retrofit 2 时显示旋转图标以获取异步 Restful 调用的响应,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36074371/

相关文章:

java - 使用 PdfReader 时出现内存问题

java - 无法找到 JNDI 资源 Tomcat 7

android - 获取jsonarray下每个元素的KEYS数组

security - 使用 Jersey 保护 Rest Web 服务

java - Google 云打印报告文件丢失

java - 视频在本地系统中播放,但现在在远程系统的内联网中播放

android - 关闭软键盘后edittext光标仍然闪烁

Android - 如何禁用 RecyclerView 自动滚动点击

java - 在Web服务API中传递参数

c# - 在 .NET 环境中使用 REST API 的最常见方法是什么? C#、JS 还是其他语言?