问题描述
我有一个从 Google Books API 读取数据的应用程序。
我对书籍 id 运行 for 循环,对于每个 id,我可以通过 API 获取结果。
据我所知,我将请求发送到 fast 并收到一条错误消息:请求太多,我应该减慢请求的速度。
public class MyBookClient {
private static final String API_BASE_URL = "https://www.googleapis.com/books/v1/volumes/";
private AsyncHttpClient client;
public static MyBookClient instance = new MyBookClient();
public MyBookClient() {
this.client = new AsyncHttpClient();
}
public static MyBookClient getInstance() {
return instance;
}
public void getBooks(final String query,JsonHttpResponseHandler handler) {
try {
client.get( API_BASE_URL + URLEncoder.encode( query,"utf-8" ),handler );
} catch (UnsupportedEncodingException ignored) {
}
}
}
然后在 recyclerView 适配器内部:
MyBookClient.getInstance().getBooks( BookID,new JsonHttpResponseHandler() {
@Override
public void onSuccess(int statusCode,Header[] headers,JSONObject response) {
if (response != null) {
final MyBook books = MyBook.fromJson( response );
tv_Title.setText( books.getTitle() );
tv_Author.setText( books.getAuthor() );
Picasso.with( itemView.getContext() ).load( Uri.parse( books.getCoverUrl() ) ).error( R.drawable.ic_nocover ).resize( 110,160 ).into( Iv_BookCover );
}
}
} );
BookID 每次 for 循环迭代都会改变。
如何向此代码添加 denounce 或其他内容,使其不会返回此消息?
谢谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)