Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android Rss閱讀器

Android Rss閱讀器

編輯:關於Android編程

前言

        前幾天去北京面試,題目是讓我解析一下騰訊的Rss。之前雖然知道xml,但是自己從來沒有去學習怎麼解析,在網上查一些例子,但是就是沒有解析出來。現在看看還蠻好笑的,因為我那時候是使用sax解析xml的,可不巧的是讓我解析的xml的encoding是“GBK”,但是sax默認使用utf-8。所以沒有解析出來也不足為奇了。關於如何解決這個問題下面會說。

 


Rss概念

      要在Android平台中開發RSS客戶端,首先需要了解什麼是RSS,RSS怎樣工作,及怎樣解析XML等知識。

      首先,我們必須要了解什麼是RSS:

       1. RSS指Really Simple Syndication(真正簡易聯合)

       2. RSS使您有能力聚合(syndicate)網站的內容

       3. RSS定義了非常簡單的方法來共享和查看標題和內容

       4. RSS文件可被自動更新

       5. RSS允許為不同的網站進行視圖的個性化

       6. RSS使用XML編寫

       RSS被設計用來展示選定的數據。如果沒有 RSS,用戶就不得不每日都來您的網站檢查新的內容。對許多用戶來說這樣太費時了。通過RSS feed(RSS 通常被稱為 News feed 或 RSS feed),用戶們可以使用 RSS 聚合器來更快地檢查您的網站更新(RSS 聚合器是用來聚集並分類 RSS feed 的網站或軟件)。由於RSS 數據很小巧並可快速加載,它可輕易地被類似移動電話或 PDA 的服務使用。擁有相似內容的網站環(Web-rings)可以輕易地在它們的網站共享內容,使這些網站更出色更有價值。

       誰應當使用RSS?

       那些極少更新內容的網管們不需要RSS!

       RSS對那些頻繁更新內容的網站是很有幫助的,比如:

       新聞站點          列出新聞的標題、日期以及描述

       企業                 列出新聞和新產品

       日程表             列出即將來臨的安排和重要日期

       站點更新         列出更新過的頁面或新的頁面

       RSS如何工作

       使用RSS,您在名為聚合器的公司注冊您的內容。

       步驟之一是,創建一個RSS 文檔,然後使用.xml 後綴來保存它。然後把此文件上傳到您的網站。接下來,通過一個RSS 聚合器來注冊。每天,聚合器都會到被注冊的網站搜索RSS文檔,校驗其鏈接,並顯示有關 feed 的信息,這樣客戶就能夠鏈接到使他們產生興趣的文檔。


       一個RSS實例文檔


       RSS文檔使用一種簡單的自我描述的語法: 讓我們看一個簡單的RSS文檔:

 

[java]
<?xml version="1.0" encoding="ISO-8859-1" ?>   
<rss version="2.0">   
   
<channel>   
  <title>W3School Home Page</title>   
  <link>http://www.w3school.com.cn</link>    
  <description>Free web building tutorials</description>   
  <item>   
    <title>RSS Tutorial</title>   
    <link>http://www.w3school.com.cn/rss</link>    
    <description>New RSS tutorial on W3School</description>   
  </item>   
  <item>   
    <title>XML Tutorial</title>   
    <link>http://www.w3school.com.cn/xml</link>    
    <description>New XML tutorial on W3School</description>   
  </item>   
</channel>   
   
</rss>   

<?xml version="1.0" encoding="ISO-8859-1" ?> 
<rss version="2.0"> 
 
<channel> 
  <title>W3School Home Page</title> 
  <link>http://www.w3school.com.cn</link> 
  <description>Free web building tutorials</description> 
  <item> 
    <title>RSS Tutorial</title> 
    <link>http://www.w3school.com.cn/rss</link> 
    <description>New RSS tutorial on W3School</description> 
  </item> 
  <item> 
    <title>XML Tutorial</title> 
    <link>http://www.w3school.com.cn/xml</link> 
    <description>New XML tutorial on W3School</description> 
  </item> 
</channel> 
 
</rss>         文檔中的第一行:XML聲明 - 定義了文檔中使用的XML 版本和字符編碼。此例子遵守1.0規范,並使用ISO-8859-1 (Latin-1/West European) 字符集。


       下一行是標識此文檔是一個RSS文檔的RSS 聲明(此例是 RSS version 2.0)。

       下一行含有 <channel> 元素。此元素用於描述RSS feed。

       <channel> 元素有三個必需的子元素:

                 <title> - 定義頻道的標題。(比如 w3school 首頁)

                 <link> - 定義到達頻道的超鏈接                  <description> - 描述此頻道(比如免費的網站建設教程)

       每個<channel>元素可擁有一個或多個 <item> 元素。

       每個<item>元素可定義 RSS feed 中的一篇文章或 "story"。

       <item> 元素擁有三個必需的子元素:

                 <title> - 定義項目的標題。(比如 RSS 教程)

                 <link> - 定義到達項目的超鏈接                  <description> - 描述此項目(比如 w3school 的RSS 教程)

       最後,後面的兩行關閉 <channel> 和 <rss> 元素。

       上面的只是是一個例子,下面來看一下實際應用的Rss:


[java]
?xml version="1.0" encoding="gb2312"?> 
 
 
<?xml-stylesheet type="text/xsl" href="/css/rss_xml_style.css"?> 
 
<rss version="2.0"> 
  <channel> 
    <title>新聞國內</title> 
    <image> 
      <title>新聞國內</title> 
      <link>http://news.qq.com</link>  
      <url>http://mat1.qq.com/news/rss/logo_news.gif</url>  
    </image> 
    <description>新聞國內</description> 
    <link>http://news.qq.com/china_index.shtml</link>  
    <copyright>Copyright 1998 - 2005 TENCENT Inc. All Rights Reserved</copyright> 
    <language>zh-cn</language> 
    <generator>www.qq.com</generator> 
    <item> 
      <title>浙江溫州泰順廣播電視台原台長受賄獲刑十年</title> 
      <link>http://news.qq.com/a/20130608/012227.htm</link>  
      <author>www.qq.com</author> 
      <category/> 
      <pubDate>2013-06-08 12:05:21</pubDate> 
      <comments/> 
      <description>  中新網溫州6月8日電(記者趙小燕通訊員晨翔)利用擔任廣播電視台台長的職務便利,在產品采購、干部任用、人事調動、人事招錄等方面為他人謀取利益,先後收受許某某等人所送共計284200元。近日,溫州泰順縣人民法院以受賄罪判處被告人張某某有期徒刑十年,並處沒收財產30000元;沒收被告人張某某受賄違法所得284200元,上</description> 
    </item> 
    <item> 
      <title>河南新蔡回應開發商違規 對外界質疑只字不提</title> 
      <link>http://news.qq.com/a/20130608/012148.htm</link>  
      <author>www.qq.com</author> 
      <category/> 
      <pubDate>2013-06-08 11:59:42</pubDate> 
      <comments/> 
      <description>中新網駐馬店6月8日電(記者侯偉勝)本網對河南省新蔡縣“城市1號工程”偉利國際廣場在征地、施工、銷售等環節涉嫌違規一事進行報道後,引起廣泛關注。6月7日下午,新蔡縣國土局以電子郵件的形式對報道內容進行了說明。但是對於群眾最為關注的幾點質疑,卻只字未提。偉利國際廣場是駐馬店市、新蔡縣重點招商引資項目,新蔡縣</description> 
    </item> 

<?xml version="1.0" encoding="gb2312"?>


<?xml-stylesheet type="text/xsl" href="/css/rss_xml_style.css"?>

<rss version="2.0">
  <channel>
    <title>新聞國內</title>
    <image>
      <title>新聞國內</title>
      <link>http://news.qq.com</link>
      <url>http://mat1.qq.com/news/rss/logo_news.gif</url>
    </image>
    <description>新聞國內</description>
    <link>http://news.qq.com/china_index.shtml</link>
    <copyright>Copyright 1998 - 2005 TENCENT Inc. All Rights Reserved</copyright>
    <language>zh-cn</language>
    <generator>www.qq.com</generator>
    <item>
      <title>浙江溫州泰順廣播電視台原台長受賄獲刑十年</title>
      <link>http://news.qq.com/a/20130608/012227.htm</link>
      <author>www.qq.com</author>
      <category/>
      <pubDate>2013-06-08 12:05:21</pubDate>
      <comments/>
      <description>  中新網溫州6月8日電(記者趙小燕通訊員晨翔)利用擔任廣播電視台台長的職務便利,在產品采購、干部任用、人事調動、人事招錄等方面為他人謀取利益,先後收受許某某等人所送共計284200元。近日,溫州泰順縣人民法院以受賄罪判處被告人張某某有期徒刑十年,並處沒收財產30000元;沒收被告人張某某受賄違法所得284200元,上</description>
    </item>
    <item>
      <title>河南新蔡回應開發商違規 對外界質疑只字不提</title>
      <link>http://news.qq.com/a/20130608/012148.htm</link>
      <author>www.qq.com</author>
      <category/>
      <pubDate>2013-06-08 11:59:42</pubDate>
      <comments/>
      <description>中新網駐馬店6月8日電(記者侯偉勝)本網對河南省新蔡縣“城市1號工程”偉利國際廣場在征地、施工、銷售等環節涉嫌違規一事進行報道後,引起廣泛關注。6月7日下午,新蔡縣國土局以電子郵件的形式對報道內容進行了說明。但是對於群眾最為關注的幾點質疑,卻只字未提。偉利國際廣場是駐馬店市、新蔡縣重點招商引資項目,新蔡縣</description>
    </item>       後面省略了很多item,大體看一下結構就可以。
       RSS中的注釋

       在RSS 中書寫注釋的語法與HTML 的語法類似:

       <!-- This is an RSS comment -->

       RSS使用XML來編寫

       因為RSS也是XML,請記住:

       1. 所有的元素必許擁有關閉標簽

       2. 元素對大小寫敏感

       3. 元素必需被正確地嵌套

       4. 屬性值必須帶引號

       

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved