我有一个从googlebooksapi读取数据的应用程序。
我在图书id上运行for循环,对于每个id,我可以通过api得到结果。
据我所知,我将请求发送到fast,并收到一个错误消息:请求太多,我应该减慢一些请求的速度。
我使用以下代码获取api数据:
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循环迭代中都会更改。
我如何才能添加谴责或其他东西,使这段代码不会返回此消息?
谢谢您
暂无答案!
目前还没有任何答案,快来回答吧!