我已经使用 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/