last.fm Android에서 앨범 아트를 얻는 방법
-
26-12-2019 - |
문제
저는 Android용 뮤직 플레이어를 만들고 있습니다. 사용자가 last.fm에서 노래의 앨범 아트를 가져올 수 있는 기능을 제공하고 싶습니다.
API 키도 있어요.Last.fm에서 이미지를 검색하는 데 도움이 필요합니다.
이미지 URL을 얻는 데 도움을 주시면 감사하겠습니다.
미리 감사드립니다.
추신 :내 뮤직 플레이어에 대한 자세한 내용은 아래 링크를 확인하세요.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. DocElement. 둘 다 아래 링크에서 사용할 수 있습니다. XML 구문 분석 자습서
다른 팁
Last.fm 웹 서비스 문서를 참조하세요. album.getInfo
: 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