如何使用 Spotify web api 和 Gson 获取专辑封面
How to get album art using Spotify web api with Gson
我正在使用 spotify web api 获取包含专辑信息的 json 对象。
这是模型url
https://api.spotify.com/v1/search?q=album:arrival%20artist:abba&type=album
假设我正在寻找 "Nirvana" 的专辑 "Nevermind" 并且我有这张 url
https://api.spotify.com/v1/search?q=album:nevermind%20artist:nirvana&type=album
所以我在这里为 Gson 做了一个 "model object"
public class SpotifyAlbumInfo {
public CollectionInfo collectionInfo;
public class CollectionInfo {
String href;
List<Album> albums;
Integer limit;
String next;
Integer offset;
String previous;
Integer total6;
public class Album{
String album_type;
String[] available_markets;
Urls external_urls;
String href;
String id;
List<Image> images;
String name;
String type;
String uri;
public class Urls{
String source;
}
public class Image {
Integer height;
String url;
Integer width;
}
}
}
}
我在这里尝试获取第一张图片 url
for(int i=0;i<response.collectionInfo.albums.images.size();i++){
if(response.collectionInfo.albums.image.get(i).contains("nevermind")){
imageUrl = response.collectionInfo.albums.images.get(i).url;
break;
}
}
问题是这个说法没问题
response.collectionInfo.albums.size();
但是我不会用
response.collectionInfo.albums.images.size();
因为我收到错误 symbol does not exist
。
对于这些语句,我得到了同样的错误。
response.collectionInfo.albums.images.size();
response.collectionInfo.albums.album_type.size();
response.collectionInfo.albums.href.size();
// etc
如何 "a layer deeper" 进入我的 "model object" 并获得我想要的图像 url?
您需要从列表中获取特定专辑
collectionInfo.albums
List
接口没有 images
字段,某些错误代码可能试图告诉您这一点。
您可以像这样向下钻取
Album album0 = collectionInfo.albums.get(0);
album0.images.size()
我正在使用 spotify web api 获取包含专辑信息的 json 对象。
这是模型url
https://api.spotify.com/v1/search?q=album:arrival%20artist:abba&type=album
假设我正在寻找 "Nirvana" 的专辑 "Nevermind" 并且我有这张 url
https://api.spotify.com/v1/search?q=album:nevermind%20artist:nirvana&type=album
所以我在这里为 Gson 做了一个 "model object"
public class SpotifyAlbumInfo {
public CollectionInfo collectionInfo;
public class CollectionInfo {
String href;
List<Album> albums;
Integer limit;
String next;
Integer offset;
String previous;
Integer total6;
public class Album{
String album_type;
String[] available_markets;
Urls external_urls;
String href;
String id;
List<Image> images;
String name;
String type;
String uri;
public class Urls{
String source;
}
public class Image {
Integer height;
String url;
Integer width;
}
}
}
}
我在这里尝试获取第一张图片 url
for(int i=0;i<response.collectionInfo.albums.images.size();i++){
if(response.collectionInfo.albums.image.get(i).contains("nevermind")){
imageUrl = response.collectionInfo.albums.images.get(i).url;
break;
}
}
问题是这个说法没问题
response.collectionInfo.albums.size();
但是我不会用
response.collectionInfo.albums.images.size();
因为我收到错误 symbol does not exist
。
对于这些语句,我得到了同样的错误。
response.collectionInfo.albums.images.size();
response.collectionInfo.albums.album_type.size();
response.collectionInfo.albums.href.size();
// etc
如何 "a layer deeper" 进入我的 "model object" 并获得我想要的图像 url?
您需要从列表中获取特定专辑
collectionInfo.albums
List
接口没有 images
字段,某些错误代码可能试图告诉您这一点。
您可以像这样向下钻取
Album album0 = collectionInfo.albums.get(0);
album0.images.size()