title: How to Build a RSS reader for Android?
body: <p>I am new to android and i am trying to build a RSS reader for Android. I have built all the classes and XML files but its not giving the required output. Its just showing the message 
  <code>No RSS feed available</code>.</p>
  
  <p>Please can some one suggest what should i do.</p>
  
  <p>Here is the code which i took from the tutorial and tried to manipulate-</p>
  
  <pre><code>public final String RSSFEEDOFCHOICE = "http://blog.01synergy.com/feed/";
  
  public final String tag = "RSSReader";
  private RSSFeed feed = null;
  
  /** Called when the activity is first created. */
  
  public void onCreate(Bundle icicle) {
      super.onCreate(icicle);
      setContentView(R.layout.main);
  
      // go get our feed!
      feed = getFeed(RSSFEEDOFCHOICE);
  
      // display UI
      UpdateDisplay();
  
  }
  
  
  private RSSFeed getFeed(String urlToRssFeed)
  {
      try
      {
          // setup the url
         URL url = new URL(urlToRssFeed);
  
         // create the factory
         SAXParserFactory factory = SAXParserFactory.newInstance();
         // create a parser
         SAXParser parser = factory.newSAXParser();
  
         // create the reader (scanner)
         XMLReader xmlreader = parser.getXMLReader();
         // instantiate our handler
         RSSHandler theRssHandler = new RSSHandler();
         // assign our handler
         xmlreader.setContentHandler(theRssHandler);
         // get our data via the url class
         InputSource is = new InputSource(url.openStream());
         // perform the synchronous parse           
         xmlreader.parse(is);
         // get the results - should be a fully populated RSSFeed instance, or null on error
         return theRssHandler.getFeed();
      }
      catch (Exception ee)
      {
          // if we have a problem, simply return null
          return null;
      }
  }
  public boolean onCreateOptionsMenu(Menu menu) 
  {
      super.onCreateOptionsMenu(menu);
  
      menu.add(0,0,0, "Choose RSS Feed");
      menu.add(0,1,0, "Refresh");
      Log.i(tag,"onCreateOptionsMenu");
      return true;
  }
  
  public boolean onOptionsItemSelected(Menu item){
      switch (((View) item).getId()) {
      case 0:
  
          Log.i(tag,"Set RSS Feed");
          return true;
      case 1:
          Log.i(tag,"Refreshing RSS Feed");
          return true;
      }
      return false;
  }
  
  
  private void UpdateDisplay()
  {
      TextView feedtitle = (TextView) findViewById(R.id.feedtitle);
      TextView feedpubdate = (TextView) findViewById(R.id.feedpubdate);
      ListView itemlist = (ListView) findViewById(R.id.itemlist);
  
  
      if (feed == null)
      {
          feedtitle.setText("No RSS Feed Available");
          return;
      }
  
      feedtitle.setText(feed.getTitle());
      feedpubdate.setText(feed.getPubDate());
  
      ArrayAdapter&lt;RSSItem&gt; adapter = new ArrayAdapter&lt;RSSItem&gt;(this,android.R.layout.simple_list_item_1,feed.getAllItems());
  
      itemlist.setAdapter(adapter);
  
      itemlist.setOnItemClickListener(this);
  
      itemlist.setSelection(0);
  
  }
  
  
   public void onItemClick(AdapterView parent, View v, int position, long id)
   {
       Log.i(tag,"item clicked! [" + feed.getItem(position).getTitle() + "]");
  
       Intent itemintent = new Intent(this,ShowDescription.class);
  
       Bundle b = new Bundle();
       b.putString("title", feed.getItem(position).getTitle());
       b.putString("description", feed.getItem(position).getDescription());
       b.putString("link", feed.getItem(position).getLink());
       b.putString("pubdate", feed.getItem(position).getPubDate());
  
       itemintent.putExtra("android.intent.extra.INTENT", b);
  
       startSubActivity(itemintent,0);
   }
  
  
  private void startSubActivity(Intent itemintent, int i) {
      // TODO Auto-generated method stub
  
  }
  
  }
  </code></pre>