如何在使用改造 2 时显示旋转图标以获取异步 Restful 调用的响应
How to show spinning icon while using retrofit 2 to get a response from Async Restful call
我已经使用 Square / Retrofit Restful 框架从 Restful 服务中获取数据,它的工作原理非常棒,代码片段如下所示:
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 忙于在后台工作时,我可以在顶部有一个旋转的图标吗?以防网络不可用。
还有可以设置超时时间,当时间到了,提示选择继续等待还是中止任务?
我注意到这个网站上有一些接近的东西:,但仍然不知道如何去做。另外,我的要求可能更简单
是的,这完全有可能。
您可以在调用端点之前或之后调用某种 startSpinner()
函数。然后,在 success()
和 failure()
中,您可以调用某种 stopSpinner()
函数。
至于超时功能,您应该在底层 HTTP 客户端而不是 Retrofit 上设置超时。如果您不想使用默认超时,您可以阅读有关设置自定义超时的更多信息 。
我已经使用 Square / Retrofit Restful 框架从 Restful 服务中获取数据,它的工作原理非常棒,代码片段如下所示:
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 忙于在后台工作时,我可以在顶部有一个旋转的图标吗?以防网络不可用。
还有可以设置超时时间,当时间到了,提示选择继续等待还是中止任务?
我注意到这个网站上有一些接近的东西:
是的,这完全有可能。
您可以在调用端点之前或之后调用某种 startSpinner()
函数。然后,在 success()
和 failure()
中,您可以调用某种 stopSpinner()
函数。
至于超时功能,您应该在底层 HTTP 客户端而不是 Retrofit 上设置超时。如果您不想使用默认超时,您可以阅读有关设置自定义超时的更多信息