Android Open Source - AndroidDev Rss Handler






From Project

Back to project page AndroidDev.

License

The source code is released under:

GNU General Public License

If you think the Android project AndroidDev listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

package org.developerworks.android;
import java.util.ArrayList;
import java.util.List;
/*  w  w w .j  av  a  2 s .  c  om*/
import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;

import static org.developerworks.android.BaseFeedParser.*;

public class RssHandler extends DefaultHandler{
  private List<Message> messages;
  private Message currentMessage;
  private StringBuilder builder;
  
  public List<Message> getMessages(){
    return this.messages;
  }
  @Override
  public void characters(char[] ch, int start, int length)
      throws SAXException {
    super.characters(ch, start, length);
    builder.append(ch, start, length);
  }

  @Override
  public void endElement(String uri, String localName, String name)
      throws SAXException {
    super.endElement(uri, localName, name);
    if (this.currentMessage != null){
      if (localName.equalsIgnoreCase(TITLE)){
        currentMessage.setTitle(builder.toString());
      } else if (localName.equalsIgnoreCase(LINK)){
        currentMessage.setLink(builder.toString());
      } else if (localName.equalsIgnoreCase(DESCRIPTION)){
        currentMessage.setDescription(builder.toString());
      } else if (localName.equalsIgnoreCase(PUB_DATE)){
        currentMessage.setDate(builder.toString());
      } else if (localName.equalsIgnoreCase(ITEM)){
        messages.add(currentMessage);
      }
      builder.setLength(0);  
    }
  }

  @Override
  public void startDocument() throws SAXException {
    super.startDocument();
    messages = new ArrayList<Message>();
    builder = new StringBuilder();
  }

  @Override
  public void startElement(String uri, String localName, String name,
      Attributes attributes) throws SAXException {
    super.startElement(uri, localName, name, attributes);
    if (localName.equalsIgnoreCase(ITEM)){
      this.currentMessage = new Message();
    }
  }
}




Java Source Code List

nl.componentagro.feedparser.BaseFeedParser.java
nl.componentagro.feedparser.FeedParser.java
nl.componentagro.feedparser.ImageRef.java
nl.componentagro.feedparser.Message.java
nl.componentagro.feedparser.XmlPullFeedParser.java
nl.componentagro.kbreader.CAKennisbankLezerActivity.java
nl.rhoek.mygpspos.GPSPosActivity.java
nl.rhoek.mygpspos.GPSTracker.java
nl.rhoek.mygpspos.util.SystemUiHiderBase.java
nl.rhoek.mygpspos.util.SystemUiHiderHoneycomb.java
nl.rhoek.mygpspos.util.SystemUiHider.java
nl.ronaldhoek.helloandroid.HelloAndroid.java
org.developerworks.android.AndroidSaxFeedParser.java
org.developerworks.android.BaseFeedParser.java
org.developerworks.android.DomFeedParser.java
org.developerworks.android.FeedParserFactory.java
org.developerworks.android.FeedParser.java
org.developerworks.android.MessageList.java
org.developerworks.android.Message.java
org.developerworks.android.ParserType.java
org.developerworks.android.RssHandler.java
org.developerworks.android.SaxFeedParser.java
org.developerworks.android.XmlPullFeedParser.java