Я новичок в разработке для Android.
Мое приложение использует Hearthstone API. Hearthstone - карточная онлайн-игра.
API возвратит URL-адрес изображения карты вместе с другими строками информации, такими как имя карты и информация о карте.
к сожалению, API вернет URL, который достигает 404, поэтому изображение никогда не отображается.
Если интересно, вот GIT с моим кодом
https://github.com/KaasiSerrano/HearthstoneAPI
Я хотел бы реализовать логику, которая будет пропускать загрузку всего, что не возвращает правильный URL-адрес изображения карты.
https://imgur.com/a/H21oHeP
Я ищу что-то вроде этого
if(url == [404])
{
skip loading this card and skip to the next card to check if that one has a proper URL or not
}
Это мой запрос на модернизацию. Я думаю, что именно здесь должна быть моя логика, но я не уверен.
public void retrofitRequest() {
HearthstoneService hearthstoneService =
RetrofitClientInstance
.getRetrofit()
.create(HearthstoneService.class);
Call<List<Cards>> call = hearthstoneService.loadSetCards(ThisIsSetName);
call.enqueue(new Callback<List<Cards>>() {
@Override
public void onResponse(Call<List<Cards>>call,Response<List<Cards>> response) {
if (response.isSuccessful()) {
assert response.body() != null;
Log.d(TAG, "onResponse" + response.body());
cardAdapter.setData(response.body());
rvCards.setAdapter(cardAdapter);
} else {
assert response.errorBody() != null;
Log.d(TAG, "onResponseError" + response.errorBody().toString());
Toast.makeText(DisplaySetCards.this, "Card Doesn't exist", Toast.LENGTH_SHORT).show();
}
}
@Override
public void onFailure(Call<List<Cards>> call, Throwable t) {
}
});
}
Я использую Glide для загрузки этих изображений, но я думаю, что код, который я ищу, должен произойти до того, как я загружу изображения? Я не уверен.
https://imgur.com/a/H21oHeP
Glide.with(context).load(urlGolden).placeholder(R.drawable.error404card).into(holder.iv_Card_Image);
На выходе должны быть только карточки с реальным URL-адресом.