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

Foi útil?

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>
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top