コード例 #1
0
ファイル: News.cs プロジェクト: ybs2011/ADFC-NewsApp-Mono
        public void LoadNews()
        {
            List<Rss.RssItem> items = new de.dhoffmann.mono.adfcnewsapp.buslog.database.Rss().GetActiveFeedItems(showOnlyUnreadNews);
            adapter = new NewsListItemAdapter(this, items);

            ListView lvNews = FindViewById<ListView>(Resource.Id.lvNews);
            lvNews.Adapter = adapter;
        }
コード例 #2
0
        public void LoadData()
        {
            List<de.dhoffmann.mono.adfcnewsapp.buslog.feedimport.Rss.RssItem> rssItems = new de.dhoffmann.mono.adfcnewsapp.buslog.database.Rss().GetActiveFeedItems(false);

            ViewData = new List<KeyValuePair<string, Rss.RssItem>>();
            foreach (Rss.RssItem item in rssItems)
                ViewData.Add(new KeyValuePair<string, Rss.RssItem>(item.ItemID.ToString(), item));
        }
コード例 #3
0
        public void LoadNews()
        {
            List <Rss.RssItem> items = new de.dhoffmann.mono.adfcnewsapp.buslog.database.Rss().GetActiveFeedItems(showOnlyUnreadNews);

            adapter = new NewsListItemAdapter(this, items);

            ListView lvNews = FindViewById <ListView>(Resource.Id.lvNews);

            lvNews.Adapter = adapter;
        }
コード例 #4
0
        public void LoadData()
        {
            List <de.dhoffmann.mono.adfcnewsapp.buslog.feedimport.Rss.RssItem> rssItems = new de.dhoffmann.mono.adfcnewsapp.buslog.database.Rss().GetActiveFeedItems(false);

            ViewData = new List <KeyValuePair <string, Rss.RssItem> >();
            foreach (Rss.RssItem item in rssItems)
            {
                ViewData.Add(new KeyValuePair <string, Rss.RssItem>(item.ItemID.ToString(), item));
            }
        }
コード例 #5
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad ();

            if (SelectedFeedItem != null)
            {
                de.dhoffmann.mono.adfcnewsapp.buslog.feedimport.Rss.RssFeed rssFeed = new de.dhoffmann.mono.adfcnewsapp.buslog.database.Rss().GetRssFeed(SelectedFeedItem.FeedID, SelectedFeedItem.ItemID);

                UITextView txtContent = View.ViewWithTag(202) as UITextView;
                txtContent.Text = rssFeed.Items[0].Description;

                website = rssFeed.Items[0].Link;
            }
        }
コード例 #6
0
        public override void ViewDidLoad()
        {
            base.ViewDidLoad();

            if (SelectedFeedItem != null)
            {
                de.dhoffmann.mono.adfcnewsapp.buslog.feedimport.Rss.RssFeed rssFeed = new de.dhoffmann.mono.adfcnewsapp.buslog.database.Rss().GetRssFeed(SelectedFeedItem.FeedID, SelectedFeedItem.ItemID);

                UITextView txtContent = View.ViewWithTag(202) as UITextView;
                txtContent.Text = rssFeed.Items[0].Description;

                website = rssFeed.Items[0].Link;
            }
        }
コード例 #7
0
ファイル: Rss.cs プロジェクト: ybs2011/ADFC-NewsApp-Mono
        private RssFeed ReadRssFeed(int feedID, string webSource)
        {
            database.Rss dbRss = new de.dhoffmann.mono.adfcnewsapp.buslog.database.Rss();
            RssFeed ret = new RssFeed();

            try
            {
                XDocument doc = XDocument.Parse(webSource);

                var channel = doc.Descendants("channel");

                if (channel != null)
                {
                    var qTitle = channel.Descendants("title").First();
                    string title = null;

                    if (qTitle != null)
                        title = FromHtml(qTitle.Value);

                    var qLink = channel.Descendants("link").First();
                    string link = null;

                    if (qLink != null)
                        link = qLink.Value;

                    var qDescription = channel.Descendants("description").First();
                    string description = null;

                    if (qDescription != null)
                        description = FromHtml(qDescription.Value);

                    DateTime lastBuildDate = DateTime.MinValue;
                    try
                    {
                        var qLastBuildDate = channel.Descendants("lastBuildDate").First();

                        // TODO prüfen
                        if (qLastBuildDate != null)
                            lastBuildDate = DateTime.Parse(qLastBuildDate.Value);
                    }
                    catch(Exception)
                    { ; }

                    ret.Header = new RssHeader()
                    {
                        FeedID = feedID,
                        Title = title,
                        Link = link,
                        Description = description,
                        LastBuildDate = lastBuildDate
                    };

                    // Das Datum der letzten Daten importieren
                    DateTime? dbLastBuildDate = dbRss.GetLastBuildDate(feedID);
                    dbLastBuildDate = null;

                    // Müssen die Items wirklich geparsed werden?
                    if(!dbLastBuildDate.HasValue || (ret != null && ret.Header != null && ret.Header.LastBuildDate.HasValue && dbLastBuildDate.Value < ret.Header.LastBuildDate.Value))
                    {
                        var items = doc.Descendants("item");

                        if (items != null)
                        {
                            List<RssItem> rssItems = new List<RssItem>();

                            foreach (var item in items)
                            {
                                RssItem rssItem = new RssItem();

                                rssItem.FeedID = feedID;

                                var qiTitle = item.Descendants("title").First();

                                if (qiTitle != null)
                                    rssItem.Title = FromHtml(qiTitle.Value);

                                var qiLink = item.Descendants("link").First();
                                if (qiLink != null)
                                    rssItem.Link = qiLink.Value;

                                var qiDescription = item.Descendants("description").First();

                                if (qiDescription != null)
                                    rssItem.Description = FromHtml(qiDescription.Value);

                                // Nicht alle haben diesen Node
                                try
                                {
                                    var qiCategory = item.Descendants("category").First();

                                    if (qiCategory != null)
                                        rssItem.Category = FromHtml(qiCategory.Value);
                                }
                                catch(Exception)
                                { ; }

                                try
                                {
                                    // TODO prüfen!!
                                    var qiPubDate = item.Descendants("pubDate").First();
                                    if (qiPubDate != null)
                                        rssItem.PubDate = DateTime.Parse(qiPubDate.Value);
                                }
                                catch(Exception)
                                { ; }

                                rssItems.Add(rssItem);
                            }

                            ret.Items = rssItems;
                        }
                    }
                }
            }
            catch(Exception ex)
            {
                System.Diagnostics.Debug.WriteLine("ex: " + ex.ToString());
            }

            return ret;
        }
コード例 #8
0
        private RssFeed ReadRssFeed(int feedID, string webSource)
        {
            database.Rss dbRss = new de.dhoffmann.mono.adfcnewsapp.buslog.database.Rss();
            RssFeed      ret   = new RssFeed();

            try
            {
                XDocument doc = XDocument.Parse(webSource);

                var channel = doc.Descendants("channel");

                if (channel != null)
                {
                    var    qTitle = channel.Descendants("title").First();
                    string title  = null;

                    if (qTitle != null)
                    {
                        title = FromHtml(qTitle.Value);
                    }

                    var    qLink = channel.Descendants("link").First();
                    string link  = null;

                    if (qLink != null)
                    {
                        link = qLink.Value;
                    }

                    var    qDescription = channel.Descendants("description").First();
                    string description  = null;

                    if (qDescription != null)
                    {
                        description = FromHtml(qDescription.Value);
                    }

                    DateTime lastBuildDate = DateTime.MinValue;
                    try
                    {
                        var qLastBuildDate = channel.Descendants("lastBuildDate").First();

                        // TODO prüfen
                        if (qLastBuildDate != null)
                        {
                            lastBuildDate = DateTime.Parse(qLastBuildDate.Value);
                        }
                    }
                    catch (Exception)
                    {; }

                    ret.Header = new RssHeader()
                    {
                        FeedID        = feedID,
                        Title         = title,
                        Link          = link,
                        Description   = description,
                        LastBuildDate = lastBuildDate
                    };

                    // Das Datum der letzten Daten importieren
                    DateTime?dbLastBuildDate = dbRss.GetLastBuildDate(feedID);
                    dbLastBuildDate = null;

                    // Müssen die Items wirklich geparsed werden?
                    if (!dbLastBuildDate.HasValue || (ret != null && ret.Header != null && ret.Header.LastBuildDate.HasValue && dbLastBuildDate.Value < ret.Header.LastBuildDate.Value))
                    {
                        var items = doc.Descendants("item");

                        if (items != null)
                        {
                            List <RssItem> rssItems = new List <RssItem>();

                            foreach (var item in items)
                            {
                                RssItem rssItem = new RssItem();

                                rssItem.FeedID = feedID;

                                var qiTitle = item.Descendants("title").First();

                                if (qiTitle != null)
                                {
                                    rssItem.Title = FromHtml(qiTitle.Value);
                                }

                                var qiLink = item.Descendants("link").First();
                                if (qiLink != null)
                                {
                                    rssItem.Link = qiLink.Value;
                                }

                                var qiDescription = item.Descendants("description").First();

                                if (qiDescription != null)
                                {
                                    rssItem.Description = FromHtml(qiDescription.Value);
                                }

                                // Nicht alle haben diesen Node
                                try
                                {
                                    var qiCategory = item.Descendants("category").First();

                                    if (qiCategory != null)
                                    {
                                        rssItem.Category = FromHtml(qiCategory.Value);
                                    }
                                }
                                catch (Exception)
                                {; }

                                try
                                {
                                    // TODO prüfen!!
                                    var qiPubDate = item.Descendants("pubDate").First();
                                    if (qiPubDate != null)
                                    {
                                        rssItem.PubDate = DateTime.Parse(qiPubDate.Value);
                                    }
                                }
                                catch (Exception)
                                {; }

                                rssItems.Add(rssItem);
                            }

                            ret.Items = rssItems;
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine("ex: " + ex.ToString());
            }

            return(ret);
        }