Java 从URL获取并显示一系列图像
我正试图找到你,从这个链接Java 从URL获取并显示一系列图像,java,android,image,url,rss,Java,Android,Image,Url,Rss,我正试图找到你,从这个链接www.repubblica.it/rss/tecnologia/rss2.0.xml中显示一组图像的方法是什么。我必须在我的RSS应用程序中显示它们,但我一直坚持这个论点。 图像位于该标签中(例如)。 你能帮助我吗?感谢您的帮助。 这是我的处理程序: public class RSSHandler extends DefaultHandler { final int state_unknown = 0; final int state_title = 1; f
www.repubblica.it/rss/tecnologia/rss2.0.xml
中显示一组图像的方法是什么。我必须在我的RSS应用程序中显示它们,但我一直坚持这个论点。
图像位于该标签中(例如)。
你能帮助我吗?感谢您的帮助。
这是我的处理程序
:
public class RSSHandler extends DefaultHandler {
final int state_unknown = 0;
final int state_title = 1;
final int state_description = 2;
final int state_link = 3;
final int state_pubdate = 4;
int currentState = state_unknown;
RSSFeed feed;
RSSItem item;
boolean itemFound = false;
RSSHandler(){
}
RSSFeed getFeed(){
return feed;
}
@Override
public void startDocument() throws SAXException {
// TODO Auto-generated method stub
feed = new RSSFeed();
item = new RSSItem();
}
@Override
public void endDocument() throws SAXException {
// TODO Auto-generated method stub
}
@Override
public void startElement(String uri, String localName, String qName,
Attributes attributes) throws SAXException {
// TODO Auto-generated method stub
if (localName.equalsIgnoreCase("item")){
itemFound = true;
item = new RSSItem();
currentState = state_unknown;
}
else if (localName.equalsIgnoreCase("title")){
currentState = state_title;
}
else if (localName.equalsIgnoreCase("psi")){
currentState = state_description;
}
else if (localName.equalsIgnoreCase("link")){
currentState = state_link;
}
else if (localName.equalsIgnoreCase("pubdate")){
currentState = state_pubdate;
}
else{
currentState = state_unknown;
}
}
@Override
public void endElement(String uri, String localName, String qName)
throws SAXException {
// TODO Auto-generated method stub
if (localName.equalsIgnoreCase("item")){
feed.addItem(item);
}
}
@Override
public void characters(char[] ch, int start, int length)
throws SAXException {
// TODO Auto-generated method stub
String strCharacters = new String(ch,start,length);
if (itemFound==true){
// "item" tag found, it's item's parameter
switch(currentState){
case state_title:
item.setTitle(strCharacters);
break;
case state_description:
item.setDescription(strCharacters);
break;
case state_link:
item.setLink(strCharacters);
break;
case state_pubdate:
item.setPubdate(strCharacters);
break;
default:
break;
}
}
else{
// not "item" tag found, it's feed's parameter
switch(currentState){
case state_title:
feed.setTitle(strCharacters);
break;
case state_description:
feed.setDescription(strCharacters);
break;
case state_link:
feed.setLink(strCharacters);
break;
case state_pubdate:
feed.setPubdate(strCharacters);
break;
default:
break;
}
}
currentState = state_unknown;
}
}
请尝试以下代码:
用这种方法
public void startElement(String uri, String localName, String qName,Attributes attributes)
添加此代码将从元素返回url:
if ("enclosure".equals(qName)) {
for (int i = 0; i < attributes.getLength(); i++)
if (attributes.getQName(i).equals("url"))
String url = attributes.getValue(i);
if(“enclosure”.equals(qName)){
对于(int i=0;i
反馈给我以及如何显示它们?我是否必须添加最终的int state_enclosure,并在public vois chatacter()方法中添加以下内容:case state_enclosure:item.setEnclosure(strCharacters);break;;case state_title:feed.setTitle(strCharacters);break;如果您只需要不需要实现chatacter()的url,您将从startElement方法中的url获取值,您需要将其保存在数组中,解析后下载它们,然后您可以在视图中显示它们,state_enclosure是什么意思?没有什么,我很困惑。因此,要在我的ArrayAdapter中显示它们,这段代码很好?请尝试{url url url=new url(“what's here?”);HttpGet-httpRequest=null;httpRequest=new-HttpGet(url.tori());HttpClient-HttpClient=new-DefaultHttpClient();HttpResponse-response=(HttpResponse)HttpClient.execute(httpRequest);HttpEntity-entity=response.getEntity();BufferedHttpEntity-b_-entity=new-BufferedHttpEntity(entity);InputStream input=b_entity.getContent();Bitmap Bitmap=BitmapFactory.decodeStream(输入);img.setImageBitmap(位图);}catch(异常示例){}上面的代码将自动获取url,然后您需要下载它们尝试此示例从url下载图像