Изображения альбомов не отображаются при вызове из Spotify API Android StudioAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Изображения альбомов не отображаются при вызове из Spotify API Android Studio

Сообщение Anonymous »

Я пытаюсь, чтобы изображения альбомов для каждого из самых популярных треков отображались рядом с их песней, но что бы я ни делал, они отображаются в виде маленьких зеленых прямоугольников.
Фото Что происходит
Вот соответствующий код:

Код: Выделить всё

public void onGetUserProfileClicked() {
if (mAccessToken == null) {
Toast.makeText(this, "You need to get an access token first!", Toast.LENGTH_SHORT).show();
return;
}

// Create a request to get the user profile
final Request request = new Request.Builder()
.url("https://api.spotify.com/v1/me")
.addHeader("Authorization", "Bearer " + mAccessToken)
.build();

cancelCall();
mCall = mOkHttpClient.newCall(request);

mCall.enqueue(new Callback() {
@Override
public void onFailure(Call call, IOException e) {
Log.d("HTTP", "Failed to fetch data: " + e);

}

@Override

public void onResponse(Call call, Response response) throws IOException {
try {
String jsonResponse = response.body().string();
Log.d(TAG, "JSON Response: " + jsonResponse);

JSONObject jsonObject = new JSONObject(jsonResponse);
JSONArray itemsArray = jsonObject.getJSONArray("items");

StringBuilder formattedData = new StringBuilder();

// Add header for top tracks
formattedData.append("Your top tracks!");

for (int i = 0; i < itemsArray.length(); i++) {
JSONObject trackObject = itemsArray.getJSONObject(i);
JSONObject albumObject = trackObject.getJSONObject("album");
JSONArray imagesArray = albumObject.getJSONArray("images");
String imageUrl = "";
if (imagesArray.length() > 0) {
JSONObject imageObject = imagesArray.getJSONObject(0);
imageUrl = imageObject.getString("url");
Log.d(TAG, "Image URL for track " + i + ": " + imageUrl);
}

String artistName = "";
JSONArray artistsArray = trackObject.getJSONArray("artists");
if (artistsArray.length() > 0) {
JSONObject artistObject = artistsArray.getJSONObject(0);
artistName = artistObject.getString("name");
}

String trackName = trackObject.getString("name");

// Load image using Glide
ImageView imageView = new ImageView(MainActivity.this);
Glide.with(MainActivity.this)
.load(imageUrl)
.into(imageView);

// Create HTML content for each song box
formattedData.append("")
.append("")
.append(imageView)
.append("")
.append("")
.append("
").append(trackName).append(" - ").append(artistName).append("
")
.append("")
.append("");
}

// Display the formatted data with HTML formatting
runOnUiThread(() -> {
profileTextView.setText(Html.fromHtml(formattedData.toString(), Html.FROM_HTML_MODE_COMPACT));
profileTextView.setMovementMethod(LinkMovementMethod.getInstance());
});
} catch (IOException | JSONException e) {
Log.e(TAG, "Error processing response: " + e.getMessage());
runOnUiThread(() ->  Toast.makeText(MainActivity.this, "Failed to process response",
Toast.LENGTH_SHORT).show());
}
}

});
}
Когда я зарегистрировал URL-адреса изображений в своем logcat, чтобы проверить, действительны ли они, они были такими, как будто когда я нажимал на них, они нормально отображались в Интернете, и я убедился, что мой androidmanifest.xml разрешен использование Интернета.

Подробнее здесь: https://stackoverflow.com/questions/782 ... oid-studio
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»