Last.fm Androidからアルバムアートを取得する方法
-
26-12-2019 - |
質問
私はAndroid用の音楽プレーヤーを作っています。
私は私のAPIキーも持っています。Last.fmから画像を取得するのに援助が必要です。
画像のURLを取得するのにも役立つこともあります。
事前にありがとうございました。
P.S:私のミュージックプレーヤーについての詳細は、下のリンクを確認してください。 https://plus.google.com/u/0/communities/115046175816530349000
解決
解決策チェックを見つけた
以下の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;
}
}
.
後にそれを呼んでください:
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();
.
2クラスが必要です。 1. XMLParser. 2.ドーセントメント どちらも下のリンクで利用可能になります。 XML解析チュートリアル
他のヒント
album.getInfo
のLast.fm Webサービスドキュメントを参照してください。 http://www.last.fm / api / show / album.getinfo
これはサンプルレスポンスです。そこから簡単にカバーアートイメージのURLを取得する方法を確認できます。
<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>
. 所属していません StackOverflow