Я пытаюсь сделать устройство для чтения новостей для Android, но я не могу выяснить, как разыгрывать миниатюру из каждого элемента rss. Должен ли я заполнять каждый URL-адрес миниатюры, а не сохранять их, чтобы использовать их, или я могу просто использовать их с URL-адресом? Это код для подачиAndroid RSS Parse: получить изображение thumbnail
public class RssFeed implements Parcelable {`
private String title;
private String link;
private String description;
private String language;
private ArrayList<RssItem> rssItems;
public RssFeed() {
rssItems = new ArrayList<RssItem>();
}
public RssFeed(Parcel source) {
Bundle data = source.readBundle();
title = data.getString("title");
link = data.getString("link");
description = data.getString("description");
language = data.getString("language");
rssItems = data.getParcelableArrayList("rssItems");
}
@Override
public void writeToParcel(Parcel dest, int flags) {
Bundle data = new Bundle();
data.putString("title", title);
data.putString("link", link);
data.putString("description", description);
data.putString("language", language);
data.putParcelableArrayList("rssItems", rssItems);
dest.writeBundle(data);
}
public static final Parcelable.Creator<RssFeed> CREATOR = new Parcelable.Creator<RssFeed>() {
public RssFeed createFromParcel(Parcel data) {
return new RssFeed(data);
}
public RssFeed[] newArray(int size) {
return new RssFeed[size];
}
};
и это читатель Rss: (Я также создал объект RSSItem, который хранит значения).
public class RssReader {
public static RssFeed read(URL url) throws SAXException, IOException {
return read(url.openStream());
}
public static RssFeed read(InputStream stream) throws SAXException, IOException {
try {
SAXParserFactory factory = SAXParserFactory.newInstance();
SAXParser parser = factory.newSAXParser();
XMLReader reader = parser.getXMLReader();
RssHandler handler = new RssHandler();
InputSource input = new InputSource(stream);
reader.setContentHandler(handler);
reader.parse(input);
return handler.getResult();
} catch (ParserConfigurationException e) {
throw new SAXException();
}
}
public static RssFeed read(String source) throws SAXException, IOException {
return read(new ByteArrayInputStream(source.getBytes()));
}
}
ОК спасибо, но моя проблема в том, что я не знаю, как получить URL-адрес! –
URL-адрес должен быть частью модели RssItem, не так ли? Поскольку вы получаете ArrayList объектов RssItem, вы можете просто использовать его оттуда! Мне нужно будет увидеть еще какой-нибудь код, если вам нечего объяснять, может быть, лучше. –