API, который вы пытаетесь использовать, возвращает XML, не изображение. Вам необходимо проанализировать ответ и выбрать соответствующий URL-адрес изображения из ответа.
Документация по API довольно подробна, и, просмотрев образец ответа для каждого любимого исполнителя, Бенни Хилл даст вам достаточно указаний, чтобы найти подходящее изображение для отображения.
Изменить: пример API можно найти на официальном сайте Last.fm. клиент - будьте осторожны, это материал под лицензией GPL3, и если вы не хотите публиковать свой исходный код, вам не следует слишком много играть с копированием и вставкой.
Изменить (снова): для примера, не испорченного GPL3, попробуйте следующее:
(В примере используется JSoup, удобный синтаксический анализатор XML)
public List<LastFmImage> getLastFmImages(String artistName, int limit, int page) throws IOException {
String apiUrl = "http://ws.audioscrobbler.com/2.0/?method=artist.getimages&artist="
+ URLEncoder.encode(artistName)
+ "&api_key="
+ APIKEY
+ "&limit=" + limit + "&page=" + page;
Document doc = Jsoup.connect(apiUrl).timeout(20000).get();
Elements images = doc.select("images");
ArrayList<LastFmImage> result = new ArrayList<LastFmImage>();
final int nbrOfImages = images.size();
for (int i = 0; i < nbrOfImages; i++) {
Element image = images.get(i);
String title = image.select("title").first().text();
Elements sizes = image.select("sizes").select("size");
final int nbrOfSizes = sizes.size();
for (int j = 0; j < nbrOfSizes; j++) {
Element size = sizes.get(i);
result.add(new LastFmImage(title, size.text(),
size.attr("name"),
Integer.parseInt(size.attr("width")),
Integer.parseInt(size.attr("height"))));
}
}
return result;
}
И класс LastFmImage:
public class LastFmImage {
public String mTitle;
public String mUrl;
public String mName;
public int mWidth;
public int mHeight;
public LastFmImage(String title, String url, String name, int width, int height) {
mTitle = title;
mUrl = url;
mName = name;
mWidth = width;
mHeight = height;
}
}
person
Jens
schedule
25.01.2012
mArtistBackground.setImageBitmap(BitmapFactory.decodeResource(getResources(), R.id.image));
- person dokkaebi   schedule 25.01.2012