Metro学习笔记+心得+体会(三)

 

五月快要结束了,还有14天就要会考,告诉自己:加油!

这是本月最后一篇教程,欢迎拍砖!

 

本篇博客要讲的是一个博客阅读器,我学习msdn的例子http://msdn.microsoft.com/zh-cn/LIbrary/br211380.aspx#Y25237,自已写了个关于我的博客的阅读器。

 

原理很简单,SyndicationClient类,以下是主要代码:

  1 public class FeedData
  2     {
  3         public string Title { set; get; }
  4         public string Description { get; set; }
  5         public DateTime PubDate { get; set; }
  6 
  7         private List<FeedItem> _Items = new List<FeedItem>();
  8         public List<FeedItem> Items
  9         {
 10             get
 11             {
 12                 return this._Items;
 13             }
 14         }
 15     }
 16     public class FeedItem
 17     {
 18         public string Title { get; set; }
 19         public string Author { get; set; }
 20         public string Content { get; set; }
 21         public DateTime PubDate { get; set; }
 22         public Uri Link { get; set; }
 23 
 24     }
 25 
 26     public class FeedDataSource
 27     {
 28         private ObservableCollection<FeedData> _Feeds=new ObservableCollection<FeedData>();
 29         public ObservableCollection<FeedData> Feeds
 30         {
 31             get
 32             {
 33                 return this._Feeds;
 34             }
 35         }
 36 
 37         public async Task GetFeedsAsync()
 38         {
 39             /*
 40             Task<FeedData> feed1 =
 41                 GetFeedAsync("http://windowsteamblog.com/windows/b/developers/atom.aspx");
 42             Task<FeedData> feed2 =
 43                 GetFeedAsync("http://windowsteamblog.com/windows/b/windowsexperience/atom.aspx");
 44             Task<FeedData> feed3 =
 45                 GetFeedAsync("http://windowsteamblog.com/windows/b/extremewindows/atom.aspx");
 46             Task<FeedData> feed4 =
 47                 GetFeedAsync("http://windowsteamblog.com/windows/b/business/atom.aspx");
 48             Task<FeedData> feed5 =
 49                 GetFeedAsync("http://windowsteamblog.com/windows/b/bloggingwindows/atom.aspx");
 50             Task<FeedData> feed6 =
 51                 GetFeedAsync("http://windowsteamblog.com/windows/b/windowssecurity/atom.aspx");
 52             Task<FeedData> feed7 =
 53                 GetFeedAsync("http://windowsteamblog.com/windows/b/springboard/atom.aspx");
 54             Task<FeedData> feed8 =
 55                 GetFeedAsync("http://windowsteamblog.com/windows/b/windowshomeserver/atom.aspx");
 56             // There is no Atom feed for this blog, so we use the RSS feed.
 57             Task<FeedData> feed9 =
 58                 GetFeedAsync("http://windowsteamblog.com/windows_live/b/windowslive/rss.aspx");
 59             Task<FeedData> feed10 =
 60                 GetFeedAsync("http://windowsteamblog.com/windows_live/b/developer/atom.aspx");
 61             Task<FeedData> feed11 =
 62                 GetFeedAsync("http://windowsteamblog.com/ie/b/ie/atom.aspx");
 63             Task<FeedData> feed12 =
 64                 GetFeedAsync("http://windowsteamblog.com/windows_phone/b/wpdev/atom.aspx");
 65             Task<FeedData> feed13 =
 66                 GetFeedAsync("http://windowsteamblog.com/windows_phone/b/wmdev/atom.aspx");
 67             
 68             this.Feeds.Add(await feed1);
 69             this.Feeds.Add(await feed2);
 70             this.Feeds.Add(await feed3);
 71             this.Feeds.Add(await feed4);
 72             this.Feeds.Add(await feed5);
 73             this.Feeds.Add(await feed6);
 74             this.Feeds.Add(await feed7);
 75             this.Feeds.Add(await feed8);
 76             this.Feeds.Add(await feed9);
 77             this.Feeds.Add(await feed10);
 78             this.Feeds.Add(await feed11);
 79             this.Feeds.Add(await feed12);
 80             this.Feeds.Add(await feed13);
 81             */
 82             Task<FeedData> feed12 =
 83     GetFeedAsync("http://feed.cnblogs.com/blog/u/116459/rss");
 84 
 85             Task<FeedData> feed13 =
 86     GetFeedAsync("http://feed.cnblogs.com/blog/sitehome/rss");
 87             this.Feeds.Add(await feed13);
 88             this.Feeds.Add(await feed12);
 89         }
 90 
 91         private async Task<FeedData> GetFeedAsync(string feedUriString)
 92         {
 93             SyndicationClient client = new SyndicationClient();
 94             Uri feedUri = new Uri(feedUriString);
 95 
 96             try
 97             {
 98                 SyndicationFeed feed = await client.RetrieveFeedAsync(feedUri);
 99                 FeedData feedData = new FeedData();
100                 feedData.Title = feed.Title.Text;
101                 if (feed.Subtitle.Text != null)
102                 {
103                     feedData.Description = feed.Subtitle.Text;
104                 }
105 
106                 feedData.PubDate = feed.Items[0].PublishedDate.DateTime;
107 
108                 foreach (SyndicationItem item in feed.Items)
109                 {
110                     FeedItem feedItem = new FeedItem();
111                     feedItem.Title = item.Title.Text;
112                     feedItem.PubDate = item.PublishedDate.DateTime;
113                     feedItem.Author = item.Authors[0].Name;
114 
115                     if (feed.SourceFormat == SyndicationFormat.Atom10)
116                     {
117                         feedItem.Content = item.Content.Text;
118                         feedItem.Link = item.Links[0].Uri;
119                     }
120                     feedData.Items.Add(feedItem);
121                 }
122                 return feedData;
123             }
124             catch (Exception)
125             {
126                 return null;
127             }
128         }
129 
130     }

完整的源码请鉴源码,由于时间关系,本博客不是很完整,本人也会在后续系列中修正。大家共同学习!

 

源码地址:

https://skydrive.live.com/redir?resid=F408A3D3DF420664!183&authkey=!ABl7sbIuIN_gzU8

 

转载于:https://www.cnblogs.com/Wade-/archive/2012/05/30/2527105.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
智慧校园整体解决方案是响应国家教育信息化政策,结合教育改革和技术创新的产物。该方案以物联网、大数据、人工智能和移动互联技术为基础,旨在打造一个安全、高效、互动且环保的教育环境。方案强调从数字化校园向智慧校园的转变,通过自动数据采集、智能分析和按需服务,实现校园业务的智能化管理。 方案的总体设计原则包括应用至上、分层设计和互联互通,确保系统能够满足不同用户角色的需求,并实现数据和资源的整合与共享。框架设计涵盖了校园安全、管理、教学、环境等多个方面,构建了一个全面的校园应用生态系统。这包括智慧安全系统、校园身份识别、智能排课及选课系统、智慧学习系统、精品录播教室方案等,以支持个性化学习和教学评估。 建设内容突出了智慧安全和智慧管理的重要性。智慧安全管理通过分布式录播系统和紧急预案一键启动功能,增强校园安全预警和事件响应能力。智慧管理系统则利用物联网技术,实现人员和设备的智能管理,提高校园运营效率。 智慧教学部分,方案提供了智慧学习系统和精品录播教室方案,支持专业级学习硬件和智能化网络管理,促进个性化学习和教学资源的高效利用。同时,教学质量评估中心和资源应用平台的建设,旨在提升教学评估的科学性和教育资源的共享性。 智慧环境建设则侧重于基于物联网的设备管理,通过智慧教室管理系统实现教室环境的智能控制和能效管理,打造绿色、节能的校园环境。电子班牌和校园信息发布系统的建设,将作为智慧校园的核心和入口,提供教务、一卡通、图书馆等系统的集成信息。 总体而言,智慧校园整体解决方案通过集成先进技术,不仅提升了校园的信息化水平,而且优化了教学和管理流程,为学生、教师和家长提供了更加便捷、个性化的教育体验。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值