如何使用Spotson web api和Gson获得专辑封面

时间:2015-12-16 00:26:26

标签: android gson spotify

我使用spotify web api获取包含相册信息的json对象。

这是模型网址

https://api.spotify.com/v1/search?q=album:arrival%20artist:abba&type=album

所以,让我们说我正在寻找专辑" Nevermind" by" Nirvana"我有这个网址

https://api.spotify.com/v1/search?q=album:nevermind%20artist:nirvana&type=album

所以我做了一个"模型对象"对于Gson来说

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;
            }
        }
    }
}

在这里,我试图获得第一张图片网址

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

我如何去更深层次&#34;进入我的&#34;模型对象&#34;并获得我想要的图片网址?

1 个答案:

答案 0 :(得分:2)

您需要从列表中获取特定相册

collectionInfo.albums

images接口没有List字段,某些错误代码可能会试图告诉您。

您可以像这样向下钻取

Album album0 = collectionInfo.albums.get(0);
album0.images.size()