Como obter arte do álbum do passado.fm Android
-
26-12-2019 - |
Pergunta
Eu estou fazendo um leitor de Música para o Android, o que eu quero para fornecer funcionalidade para que os usuários acessem a arte do álbum de uma música do último.fm.
Eu tenho a minha chave de API também.Só precisa de ajuda para recuperar a imagem do Passado.fm.
Qualquer ajuda em obter a url da imagem também seria apreciada.
Obrigado antecipadamente.
P. S :Para mais informações sobre o meu leitor de música, confira o link abaixo https://plus.google.com/u/0/communities/115046175816530349000
Solução
Eu encontrei uma solução verifique abaixo
Adicione o abaixo AsyncTask carregador
public class RetrieveFeedTask extends AsyncTask<String, Void, String> {
protected String doInBackground(String... urls) {
String albumArtUrl = null;
try {
XMLParser parser = new XMLParser();
String xml = parser.getXmlFromUrl(urls[0]); // getting XML from URL
Document doc = parser.getDomElement(xml);
NodeList nl = doc.getElementsByTagName("image");
for (int i = 0; i < nl.getLength(); i++) {
Element e = (Element) nl.item(i);
Log.d(LOG_TAG,"Size = " + e.getAttribute("size") + " = " + parser.getElementValue(e));
if(e.getAttribute("size").contentEquals("medium")){
albumArtUrl = parser.getElementValue(e);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return albumArtUrl;
}
}
Chamá-lo como se segue :
StringBuilder stringBuilder = new StringBuilder("http://ws.audioscrobbler.com/2.0/");
stringBuilder.append("?method=album.getinfo");
stringBuilder.append("&api_key=");
stringBuilder.append("YOUR_LAST_FM_API_KEY");
stringBuilder.append("&artist=" + URLEncoder.encode("ARTIST_NAME_HERE", "UTF-8"));
stringBuilder.append("&album=" + URLEncoder.encode("ALBUM_NAME_HERE", "UTF-8"));
url = new RetrieveFeedTask().execute(stringBuilder.toString()).get();
Você precisa de 2 classes :1.XmlParser 2.DocElement Ambos estarão disponíveis no link abaixo.Análise de Xml tutorial
Outras dicas
Por favor, veja o Último.fm Web Services docs para album.getInfo
: http://www.last.fm/api/show/album.getInfo
Aqui está um exemplo de resposta, a partir do qual você pode facilmente ver como se a arte da capa url da imagem:
<album>
<name>Believe</name>
<artist>Cher</artist>
<id>2026126</id>
<mbid>61bf0388-b8a9-48f4-81d1-7eb02706dfb0</mbid>
<url>http://www.last.fm/music/Cher/Believe</url>
<releasedate>6 Apr 1999, 00:00</releasedate>
<image size="small">...</image>
<image size="medium">...</image>
<image size="large">...</image>
<listeners>47602</listeners>
<playcount>212991</playcount>
<toptags>
<tag>
<name>pop</name>
<url>http://www.last.fm/tag/pop</url>
</tag>
...
</toptags>
<tracks>
<track rank="1">
<name>Believe</name>
<duration>239</duration>
<mbid/>
<url>http://www.last.fm/music/Cher/_/Believe</url>
<streamable fulltrack="0">1</streamable>
<artist>
<name>Cher</name>
<mbid>bfcc6d75-a6a5-4bc6-8282-47aec8531818</mbid>
<url>http://www.last.fm/music/Cher</url>
</artist>
</track>
...
</tracks>
</album>