我用我的Android項目這個圖書館閱讀RSS源:RSS訂閱圖書館工作不
https://github.com/matshofman/Android-RSS-Reader-Library
現在我剛剛開始了,我想獲得任何RSS提要工作,併發出一個單一的字符串(標題),並顯示在一個文本視圖。如果可行,我會繼續將它添加到列表視圖中,然後在另一個窗口中打開。
但因爲它是,下面的代碼無法正常工作:
TextView t = (TextView) findViewById(R.id.textView1);
try {
url = new URL("http://feeds.feedburner.com/ndtv/TqgX");
} catch (Exception e) {
t.setText("URLerror");
}
try {
RssFeed feed = RssReader.read(url);
ArrayList<RssItem> rssItems = feed.getRssItems();
String sn = feed.getTitle();
t.setText(sn);
for (RssItem rssItem : rssItems) {
Log.i("RSS Reader", rssItem.getTitle());
}
} catch (Exception e) {
Log.i("Error", "eror");
t.setText("RSSerror");
}
在運行的TextView被設置爲「RSSerror」這樣的問題是在第二個try塊。以下是庫中的官方示例:
URL url = new URL("http://example.com/feed.rss");
RssFeed feed = RssReader.read(url);
ArrayList<RssItem> rssItems = feed.getRssItems();
for(RssItem rssItem : rssItems) {
Log.i("RSS Reader", rssItem.getTitle());
}
我是否使用了錯誤的RSS URL格式?或者是其他東西?
這裏是RSSReader類:
公共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();
}
}
我有3人,的RSSItem,RSSHandler和一個RSSFeed它們,因爲據我所知,偉大的工作。什麼可能導致這個問題?
如果您需要的其他類,懇請(或者向上望giuhub項目)
任何投入將:-)
加載這些在它的gradle和不工作的進口 – encastellano
@Pkmmte我們不能使用URL離線加載函數內的對象。而其他的東西是rssItem始終爲空。請爲此提供解決方案 – Krishan
@Pkmmte如果您可以爲圖書館提供一個簡單易用的示例,這將會很有幫助。僅供參考,EarlParser加載時間與PkRss相比較少。 – Arpan