Domanda

Sto facendo un lettore musicale per Android, voglio fornire funzionalità per gli utenti di ottenere l'arte dell'album di una canzone da last.fm.

Ho anche il mio tasto API.Ho solo bisogno di aiuto per il recupero dell'immagine da last.fm.

Qualsiasi aiuto per ottenere anche l'URL dell'immagine sarebbe apprezzato.

Grazie in anticipo.

P.S: Per maggiori informazioni sul mio lettore musicale, controlla il link qui sotto https://plus.google.com/u/0/communys/115046175816530349000

È stato utile?

Soluzione

Ho trovato una soluzione check sotto

Aggiungi il loader del lower asynctask loader

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

Chiamalo come 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();
.

Hai bisogno di 2 classi: 1. XMLParser. 2. DOCELMENT. Entrambi saranno disponibili nel link sottostante. tutorial analizzatore XML

Altri suggerimenti

Si prega di vedere last.fm Web Services Docs per album.getInfo: http://www.last.fm / API / spettacolo / album.getINFO
Ecco una risposta di esempio, da cui puoi vedere facilmente come ottenere la copertina URL dell'immagine d'arte:

<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>
.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top