Note that there are some explanatory texts on larger screens.

plurals
  1. POerror loading rss feed stream null
    primarykey
    data
    text
    <p>im creating an rss feed in my android app. I however keep occuring this error.</p> <p>Here is my logcat error...</p> <pre><code>03-12 14:04:04.025: E/RSS ERROR(4808): Error loading RSS Feed Stream &gt;&gt; null //android.os.NetworkOnMainThreadException 03-12 14:04:04.285: I/dalvikvm(4808): threadid=3: reacting to signal 3 03-12 14:04:04.305: I/dalvikvm(4808): Wrote stack traces to '/data/anr/traces.txt' 03-12 14:04:04.335: D/ViewRootImpl(4808): pckname = com.tmm.android.rssreader 03-12 14:04:04.485: D/libEGL(4808): loaded /system/lib/egl/libEGL_mali.so 03-12 14:04:04.525: D/libEGL(4808): loaded /system/lib/egl/libGLESv1_CM_mali.so 03-12 14:04:04.535: D/libEGL(4808): loaded /system/lib/egl/libGLESv2_mali.so 03-12 14:04:04.575: D/OpenGLRenderer(4808): Enabling debug mode 0 </code></pre> <p>Can anyone help? im new to RSS feeds</p> <p>Im not sure what part of the code im getting an error in, any suggestions?</p> <pre><code>package com.tmm.android.rssreader.util; import java.io.IOException; import java.net.MalformedURLException; import java.net.URL; import java.util.ArrayList; import java.util.List; import javax.xml.parsers.ParserConfigurationException; import javax.xml.parsers.SAXParser; import javax.xml.parsers.SAXParserFactory; import org.xml.sax.Attributes; import org.xml.sax.InputSource; import org.xml.sax.SAXException; import org.xml.sax.XMLReader; import org.xml.sax.helpers.DefaultHandler; import android.util.Log; public class RSSHandler extends DefaultHandler { // Feed and Article objects to use for temporary storage private Article currentArticle = new Article(); private List&lt;Article&gt; articleList = new ArrayList&lt;Article&gt;(); // Number of articles added so far private int articlesAdded = 0; // Number of articles to download private static final int ARTICLES_LIMIT = 15; //Current characters being accumulated StringBuffer chars = new StringBuffer(); /* * This method is called everytime a start element is found (an opening XML marker) * here we always reset the characters StringBuffer as we are only currently interested * in the the text values stored at leaf nodes * * (non-Javadoc) * @see org.xml.sax.helpers.DefaultHandler#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes) */ public void startElement(String uri, String localName, String qName, Attributes atts) { chars = new StringBuffer(); } /* * This method is called everytime an end element is found (a closing XML marker) * here we check what element is being closed, if it is a relevant leaf node that we are * checking, such as Title, then we get the characters we have accumulated in the StringBuffer * and set the current Article's title to the value * * If this is closing the "Item", it means it is the end of the article, so we add that to the list * and then reset our Article object for the next one on the stream * * * (non-Javadoc) * @see org.xml.sax.helpers.DefaultHandler#endElement(java.lang.String, java.lang.String, java.lang.String) */ public void endElement(String uri, String localName, String qName) throws SAXException { if (localName.equalsIgnoreCase("title")) { Log.d("LOGGING RSS XML", "Setting article title: " + chars.toString()); currentArticle.setTitle(chars.toString()); } else if (localName.equalsIgnoreCase("description")) { Log.d("LOGGING RSS XML", "Setting article description: " + chars.toString()); currentArticle.setDescription(chars.toString()); } else if (localName.equalsIgnoreCase("pubDate")) { Log.d("LOGGING RSS XML", "Setting article published date: " + chars.toString()); currentArticle.setPubDate(chars.toString()); } else if (localName.equalsIgnoreCase("encoded")) { Log.d("LOGGING RSS XML", "Setting article content: " + chars.toString()); currentArticle.setEncodedContent(chars.toString()); } else if (localName.equalsIgnoreCase("item")) { } else if (localName.equalsIgnoreCase("link")) { try { Log.d("LOGGING RSS XML", "Setting article link url: " + chars.toString()); currentArticle.setUrl(new URL(chars.toString())); } catch (MalformedURLException e) { Log.e("RSA Error", e.getMessage()); } } // Check if looking for article, and if article is complete if (localName.equalsIgnoreCase("item")) { articleList.add(currentArticle); currentArticle = new Article(); // Lets check if we've hit our limit on number of articles articlesAdded++; if (articlesAdded &gt;= ARTICLES_LIMIT) { throw new SAXException(); } } } /* * This method is called when characters are found in between XML markers, however, there is no * guarante that this will be called at the end of the node, or that it will be called only once * , so we just accumulate these and then deal with them in endElement() to be sure we have all the * text * * (non-Javadoc) * @see org.xml.sax.helpers.DefaultHandler#characters(char[], int, int) */ public void characters(char ch[], int start, int length) { chars.append(new String(ch, start, length)); } /** * This is the entry point to the parser and creates the feed to be parsed * * @param feedUrl * @return */ public List&lt;Article&gt; getLatestArticles(String feedUrl) { URL url = null; try { SAXParserFactory spf = SAXParserFactory.newInstance(); SAXParser sp = spf.newSAXParser(); XMLReader xr = sp.getXMLReader(); url = new URL(feedUrl); xr.setContentHandler(this); xr.parse(new InputSource(url.openStream())); } catch (IOException e) { Log.e("RSS Handler IO", e.getMessage() + " &gt;&gt; " + e.toString()); } catch (SAXException e) { Log.e("RSS Handler SAX", e.toString()); } catch (ParserConfigurationException e) { Log.e("RSS Handler Parser Config", e.toString()); } return articleList; } } </code></pre> <hr> <p>NEW LOGCAT LOG FOR RECODED RSS READER</p> <pre><code>03-12 16:01:13.882: W/System.err(5792): java.net.UnknownHostException: Unable to resolve host "www.cnn.com": No address associated with hostname 03-12 16:01:13.882: W/System.err(5792): at java.net.InetAddress.lookupHostByName(InetAddress.java:426) 03-12 16:01:13.912: W/System.err(5792): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:242) 03-12 16:01:13.912: W/System.err(5792): at java.net.InetAddress.getAllByName(InetAddress.java:220) 03-12 16:01:13.912: W/System.err(5792): at libcore.net.http.HttpConnection.&lt;init&gt;(HttpConnection.java:71) 03-12 16:01:13.912: W/System.err(5792): at libcore.net.http.HttpConnection.&lt;init&gt;(HttpConnection.java:50) 03-12 16:01:13.912: W/System.err(5792): at libcore.net.http.HttpConnection$Address.connect(HttpConnection.java:351) 03-12 16:01:13.912: W/System.err(5792): at libcore.net.http.HttpConnectionPool.get(HttpConnectionPool.java:86) 03-12 16:01:13.912: W/System.err(5792): at libcore.net.http.HttpConnection.connect(HttpConnection.java:128) 03-12 16:01:13.912: W/System.err(5792): at libcore.net.http.HttpEngine.openSocketConnection(HttpEngine.java:308) 03-12 16:01:13.912: W/System.err(5792): at libcore.net.http.HttpEngine.connect(HttpEngine.java:303) 03-12 16:01:13.912: W/System.err(5792): at libcore.net.http.HttpEngine.sendSocketRequest(HttpEngine.java:282) 03-12 16:01:13.912: W/System.err(5792): at libcore.net.http.HttpEngine.sendRequest(HttpEngine.java:232) 03-12 16:01:13.912: W/System.err(5792): at libcore.net.http.HttpURLConnectionImpl.getResponse(HttpURLConnectionImpl.java:273) 03-12 16:01:13.912: W/System.err(5792): at libcore.net.http.HttpURLConnectionImpl.getInputStream(HttpURLConnectionImpl.java:168) 03-12 16:01:13.922: W/System.err(5792): at java.net.URL.openStream(URL.java:462) 03-12 16:01:13.922: W/System.err(5792): at com.exercise.AndroidRssReader.AndroidRssReader$MyTask.doInBackground(AndroidRssReader.java:43) 03-12 16:01:13.922: W/System.err(5792): at com.exercise.AndroidRssReader.AndroidRssReader$MyTask.doInBackground(AndroidRssReader.java:1) 03-12 16:01:13.922: W/System.err(5792): at android.os.AsyncTask$2.call(AsyncTask.java:264) 03-12 16:01:13.922: W/System.err(5792): at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:305) 03-12 16:01:13.922: W/System.err(5792): at java.util.concurrent.FutureTask.run(FutureTask.java:137) 03-12 16:01:13.932: W/System.err(5792): at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1076) 03-12 16:01:13.932: W/System.err(5792): at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:569) 03-12 16:01:13.932: W/System.err(5792): at java.lang.Thread.run(Thread.java:856) 03-12 16:01:13.932: W/System.err(5792): Caused by: libcore.io.GaiException: getaddrinfo failed: EAI_NODATA (No address associated with hostname) 03-12 16:01:13.952: W/System.err(5792): at libcore.io.Posix.getaddrinfo(Native Method) 03-12 16:01:13.952: W/System.err(5792): at libcore.io.ForwardingOs.getaddrinfo(ForwardingOs.java:55) 03-12 16:01:13.952: W/System.err(5792): at java.net.InetAddress.lookupHostByName(InetAddress.java:411) 03-12 16:01:13.962: W/System.err(5792): ... 22 more </code></pre>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload