2012-06-26 80 views
0

我想創建一個簡單的應用程序,顯示我用煎茶觸摸2從我最喜歡的新聞網站的最新新聞的列表和RSS源,當然。Sencha Touch 2:如何以列表形式顯示RSS提要?

我如何從RSS源數據,然後將其顯示爲一個列表,顯示標題,作者,日期和內容?

我可以得到最新的新聞故事會的名單,但我只能設法顯示每個項目的標題/標題,不是作者,日期,摘要等。這裏是我的代碼:

1模型, 1個存儲,1個圖,1個app.js:

//The store 
Ext.define("NewsApp.store.EbStore", { 
extend: "Ext.data.Store", 
requires: ["Ext.data.proxy.JsonP", "Ext.dataview.List" ], 
config: { 
    model: "NewsApp.model.NewsListModel", 
    autoLoad: true, 
    proxy: { 
     type: 'jsonp', 
     url: 'https://ajax.googleapis.com/ajax/services/feed/load?v=1.0&num=5&q=http://feeds.feedburner.com/newsapp_pol', 
     reader: { 
      type: 'json', 
      rootProperty: 'responseData.feed.entries' 
      } 
     } 
    }  
}); 


//The Model 
Ext.define("NewsApp.model.NewsListModel", { 
extend: "Ext.data.Model", 
config: { 
    fields: [ 
    {name: 'title', type: 'auto'}, 
    {name: 'author', type: 'auto'}, 
    ] 
} 
}); 

//The view 
Ext.define("NewsApp.view.NewsList", { 
extend: "Ext.Container", 
requires: "Ext.Toolbar", 
alias: "widget.newslistview", 

config: { 
    layout: { 
     type: 'fit' 
    }, 

    items: [{ 
     xtype: "toolbar", 
     title: "Danske Nyheder", 
     docked: "top", 
     items: [ 
       { 
        xtype: 'spacer' 
       }, 
       { 
        xtype: "button", 
        text: "Indstillinger", 
        ui: "action", 
        id: "settingsButton", 
        iconMask: true, 
        iconCls: 'settings' 
       }, 
        { 
        xtype: "button", 
        text: "Refresh", 
        ui: "action", 
        id: "refreshButton", 
        iconMask: true, 
        iconCls: 'refresh' 
        } 
       ] 
    }, 
    { 
     xtype: "list", 
     store: "EbStore", 
     itemId:"EbList", 
     onItemDisclosure: true, 
     itemTpl: '{title}' 
    } 
    ], 
    } 
}); 

// And the app.js just for kicks 
Ext.application({ 
name: "NewsApp", 
models: ["NewsListModel"], 
stores: ["EbStore"], 
views: ["NewsList"], 

launch: function() { 
    console.log("App starts"); 
    var newsListView = { 
     xtype: "newslistview" 
    }; 

    Ext.Viewport.add([newsListView]); 
} 
}); 

有了這個代碼,我可以很好地顯示RSS項目的標題。但是,如果我將{title}更改爲{author},則列表項是在我的視圖中創建的,但沒有任何內容。我試圖閱讀的RSS使用正常標準,我認爲:http://feeds.feedburner.com/newsapp_pol


那麼,我如何顯示不僅僅是標題,並訪問其餘的rss?
我猜它歸結到我的不理解什麼數據在代理代碼或如何或以何種格式正好被抓獲。

任何人都可以幫忙嗎? :-)

我已簽出煎茶觸摸RSS閱讀器的這兩個例子,都是優秀的,除了代碼是太先進,我明白了:
http://www.sencha.com/apps/rssreader/
https://github.com/AndreaCammarata/FeedBurner-RSS-Reader

回答

1

特勒爾斯,

如果你想看看你的谷歌提要的數據響應,我建議你看一看json beautifier的json數據,以便於閱讀。首先將您的google feed url粘貼到瀏覽器的地址欄中。複製生成的json響應 - 並將其粘貼到美化器中。這將爲您提供響應數據中數據字段的結構化視圖。

當我試了一下,第一個條目是這樣的:

   "title": "Over 50 såret under kampe i Kosovo", 
       "link": "http://politiken.dk/udland/ECE1672568/over-50-saaret-under-kampe-i-kosovo/", 
       "author": "", 
       "publishedDate": "Thu, 28 Jun 2012 12:09:18 -0700", 
       "contentSnippet": "35 politifolk og 20 serbere blev såret, da en gruppe serbere stødte sammen i det etnisk delte Kosovo.", 
       "content": "35 politifolk og 20 serbere blev såret, da en gruppe serbere stødte sammen i det etnisk delte Kosovo.", 
       "categories": [] 

我注意到,「作者」字段上的所有條目,這可以解釋爲什麼你會得到一個空列表是空的。

這將有助於您瞭解Feed中的數據結構,並在代碼中創建匹配引用。

乾杯, 拉斯穆斯

+0

感謝您的提示,拉斯穆斯。當然,問題在於作者標籤是空的。不能相信我錯過了這一點。謝謝你檢查我:-) 我也跟着你的建議有關使用JSON美化 - 我一直在使用這一個,這讓你粘貼URL,看看飼料的結構。 http://jsonviewer.stack.hu/ – troelsk