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; }
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)); }
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; }
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)); } }
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; } }
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; } }
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; }
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); }