我使用youtube API制作应用程序。我首先使用Retrofit
加载列表视频,然后继续使用Retrofit
加载列表中视频的所有信息。
由于listview
支持刷新和加载更多我需要cancel
所有要求回忆的请求。
我知道致电有cancel()
功能取消请求。我可以通过将所有致电添加到堆叠中取消所有请求,并为每个呼叫致电cancel()
。
有更好的解决方案吗?
答案 0 :(得分:4)
假设我有
GCMRegistrar: internal error: retry receiver class not set yet.
现在使用 HttpLoggingInterceptor interceptor = new HttpLoggingInterceptor().setLevel(HttpLoggingInterceptor.Level.BODY);
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
OkHttpClient client = httpClient.addInterceptor(interceptor).build();
Retrofit.Builder builder =
new Retrofit.Builder()
.baseUrl("MY URL")
.client(new OkHttpClient.Builder().addInterceptor(interceptor).build())
.addConverterFactory(GsonConverterFactory.create());
OkHttpClient.Builder httpClient = new OkHttpClient.Builder();
创建服务并设置为Dispatcher
Retrofit
只需从任何地方拨打电话
Dispatcher dispatcher=new Dispatcher();
dispatcher.setMaxRequests(totalRequest);
httpClient.dispatcher(dispatcher);
Retrofit retrofit = builder.client(client).build();
Service servicee = retrofit.create(serviceClass)