2017-06-25 29 views
-1

由于出乎意料的情况,我发现自己在Java中编写Android应用程序(我的经验是Android或Java的经验0),我一直做得非常好,但现在我坚持一些东西。我正尝试解析的iTunes搜索API,并且从来就下载了一个图书馆这样做:itunes-search API Android

https://github.com/mdewilde/itunes-search

但我不能管理使搜索(后得到的单参数),这是我的代码:

Response response = new Search("La+vereda+de+la+puerta+de+atras").execute(); 
response.setResults(response.getResults()); 
Result result = new Result(); 
System.out.println(result.getArtistName().toString()); // Returns nil 

非常感谢你在先进

+2

您创建一个新结果并从中读取ArtistName。这当然是空的。在不知道API的情况下,我会猜测response.getResults()会为您提供搜索返回的数据,并且必须遍历此数据才能打印所有接收到的数据。 –

+0

@FlorianS。你的猜测是正确的,但是当API已经有一个Result模型,其中iTunes返回的所有参数已经被定义时,迭代它不会有多大意义。 – ctabuyo

+0

是不是response.getResults()某种具有与您的查询匹配的多个结果的Collection?只需遍历该集合,然后为每个Result对象,您可以访问它的参数,如ArtistName,Title或其他。 –

回答

1

这将是这样做的正确方法:

Response response = new Search("La+vereda+de+la+puerta+de+atras").execute(); 
List<Result> results = response.getResults(); 

if (results != null && results.size() > 0) { 
    for(Result result : results) { 
     System.out.println(result.getArtistName().toString()); 
    } 
} else { 
    System.out.println("No results found :("); 
} 
+0

工作就像一个魅力,非常感谢你! – ctabuyo

+0

没问题。我会很高兴得到upvote太:) – Tharkius

+0

得到upvote先生:) – ctabuyo