Windows Phone 7 开发 31 日谈——第25日:外部API
2011-01-27 15:28
447 查看
本文是“Windows Phone 7 开发 31 日谈”系列的第25日。
昨天我写了如何在你的应用程序中嵌入字体,视频和图片。今天,我们来讨论从Web Service中获取数据,并将它们填入到你的应用程序中。
介绍Twitter API
如果你之前没有玩儿过这个,那你肯定会常听我将一个Twitter应用程序比喻为“Hello, world!”程序。原因很简单,因为几乎每一个应用程序都需要连接Web Service,Twitter的API用起来非常简单,并且是免费的,不需要任何注册。换句话说,你可以无障碍地介入,这是学习新技术的一种好方法。
有关Twitter API的关键内容可以在这里找到:http://dev.twitter.com/。我们来看看用户时间线元素的API,利用这个指定的URL模板:http://api.twitter.com/1/statuses/user_timeline.xml?screen_name=jeffblankenburg。这里的用户名,jeffblankenburg ,可以用任意的Twitter用户名替换。如果点击我给你提供的URL,你会看到很多XML文档。这个文档包含了我最近的Twitter信息,以及大量的元数据。以下是这个文档中的一个节点:
代码
if (NetworkInterface.GetIsNetworkAvailable())
{
WebClient twitter = new WebClient();
twitter.DownloadStringCompleted += new DownloadStringCompletedEventHandler(twitter_DownloadStringCompleted);
twitter.DownloadStringAsync(new Uri("http://api.twitter.com/1/statuses/user_timeline.xml?screen_name=" + TwitterNameBox.Text));
}
当返回数据时,事件处理程序会被调用,此时我们需要添加一些内容。
在应用程序中使用XML
当我们程序中获取到了数据时,就要真正地在屏幕上显示它们了。在我的其他例子中,我展示了如何将一个值绑定到XAML控件上。但本文重点不在此(虽然下面的示例代码中包含这些内容),相反,我们来看看如何用LINQ来解析XML数据。
为此,需要引入另一个名称空间,System.Xml.Linq。把它加入后,数据就变的非常简单了。我们需要一个新的XElement对象来保存XML数据。
XElement xmlTweets = XElement.Parse(e.Result);
一旦xmlTweets中保存了我们的数据,剩下要做的就是将它绑定到一个ListBox中,并使用LINQ从这些数据中创建自定义的TwitterItem对象。
TwitterList.ItemsSource = from tweet in xmlTweets.Descendants("status") select new TwitterItem{message = tweet.Element("text").Value};
你会看到在下面的示例代码中,我自定义的TwitterItem类中包含一个“message”属性。
就是这样!我们从XML源中实时抓取数据,然后再程序中处理它们,最后将它们显示在ListBox中。至于完整的示例,参见下面的代码:
下载示例代码
这是一个完全可以运行的(但肯定不是包含所有功能的)Twitter客户端。你可以在文本框中输入一个用户名,然后程序就会连接Twitter API,抓取数据,解析并在程序中显示。
原文地址:http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-25-Talking-To-External-APIs.aspx
如果大家喜欢我的文章,请点击“推荐”,谢谢!
if ($ != jQuery) {
$ = jQuery.noConflict();
}
var isLogined = true;
var cb_blogId = 43510;
var cb_entryId = 1915370;
var cb_blogApp = "porscheyin";
var cb_blogUserGuid = "2e53420b-63cf-dd11-9e4d-001cf0cd104b";
var cb_entryCreatedDate = '2010/12/23 23:15:00';
分类: Windows Phone 7 开发 31 日谈, Windows Phone 7, Windows Phone 7 开发
绿色通道:好文要顶关注我收藏该文与我联系
金山崟霸
关注 - 9
粉丝 - 79
关注博主
昨天我写了如何在你的应用程序中嵌入字体,视频和图片。今天,我们来讨论从Web Service中获取数据,并将它们填入到你的应用程序中。
介绍Twitter API
如果你之前没有玩儿过这个,那你肯定会常听我将一个Twitter应用程序比喻为“Hello, world!”程序。原因很简单,因为几乎每一个应用程序都需要连接Web Service,Twitter的API用起来非常简单,并且是免费的,不需要任何注册。换句话说,你可以无障碍地介入,这是学习新技术的一种好方法。
有关Twitter API的关键内容可以在这里找到:http://dev.twitter.com/。我们来看看用户时间线元素的API,利用这个指定的URL模板:http://api.twitter.com/1/statuses/user_timeline.xml?screen_name=jeffblankenburg。这里的用户名,jeffblankenburg ,可以用任意的Twitter用户名替换。如果点击我给你提供的URL,你会看到很多XML文档。这个文档包含了我最近的Twitter信息,以及大量的元数据。以下是这个文档中的一个节点:
代码
if (NetworkInterface.GetIsNetworkAvailable())
{
WebClient twitter = new WebClient();
twitter.DownloadStringCompleted += new DownloadStringCompletedEventHandler(twitter_DownloadStringCompleted);
twitter.DownloadStringAsync(new Uri("http://api.twitter.com/1/statuses/user_timeline.xml?screen_name=" + TwitterNameBox.Text));
}
当返回数据时,事件处理程序会被调用,此时我们需要添加一些内容。
在应用程序中使用XML
当我们程序中获取到了数据时,就要真正地在屏幕上显示它们了。在我的其他例子中,我展示了如何将一个值绑定到XAML控件上。但本文重点不在此(虽然下面的示例代码中包含这些内容),相反,我们来看看如何用LINQ来解析XML数据。
为此,需要引入另一个名称空间,System.Xml.Linq。把它加入后,数据就变的非常简单了。我们需要一个新的XElement对象来保存XML数据。
XElement xmlTweets = XElement.Parse(e.Result);
一旦xmlTweets中保存了我们的数据,剩下要做的就是将它绑定到一个ListBox中,并使用LINQ从这些数据中创建自定义的TwitterItem对象。
TwitterList.ItemsSource = from tweet in xmlTweets.Descendants("status") select new TwitterItem{message = tweet.Element("text").Value};
你会看到在下面的示例代码中,我自定义的TwitterItem类中包含一个“message”属性。
就是这样!我们从XML源中实时抓取数据,然后再程序中处理它们,最后将它们显示在ListBox中。至于完整的示例,参见下面的代码:
下载示例代码
这是一个完全可以运行的(但肯定不是包含所有功能的)Twitter客户端。你可以在文本框中输入一个用户名,然后程序就会连接Twitter API,抓取数据,解析并在程序中显示。
原文地址:http://www.jeffblankenburg.com/post/31-Days-of-Windows-Phone-7c-Day-25-Talking-To-External-APIs.aspx
如果大家喜欢我的文章,请点击“推荐”,谢谢!
if ($ != jQuery) {
$ = jQuery.noConflict();
}
var isLogined = true;
var cb_blogId = 43510;
var cb_entryId = 1915370;
var cb_blogApp = "porscheyin";
var cb_blogUserGuid = "2e53420b-63cf-dd11-9e4d-001cf0cd104b";
var cb_entryCreatedDate = '2010/12/23 23:15:00';
分类: Windows Phone 7 开发 31 日谈, Windows Phone 7, Windows Phone 7 开发
绿色通道:好文要顶关注我收藏该文与我联系
金山崟霸
关注 - 9
粉丝 - 79
关注博主
相关文章推荐
- Windows Phone 7 开发 31 日谈——第25日:外部API
- Windows Phone 7 开发 31 日谈——第25日:外部API
- Windows Phone 7 开发 31 日谈——第25日:外部API
- Windows Phone 7 开发 31 日谈——第18日:WebBrowser控件
- Windows Phone 7 开发 31 日谈——第23日:提供试用版应用程序
- Windows Phone 7 开发 31 日谈——第6日:工具栏
- Windows Phone 7 开发 31 日谈——第3日:返回键
- Windows Phone 7 开发 31 日谈——第26日:与其他开发人员(免费)分享你的程序
- Windows Phone 7 开发 31 日谈——第19日:推送通知
- Windows Phone 7 开发 31 日谈——第15日:独立存储
- Windows Phone 7 开发 31 日谈——第2日:页面导航
- Windows Phone 7 开发 31 日谈——第20日:地图控件
- Windows Phone 7 开发 31 日谈——第22日:应用?还是 游戏?
- Windows Phone 7 开发 31 日谈——第7日:启动器
- Windows Phone 7 开发 31 日谈——第20日:地图控件
- Windows Phone 7 开发 31 日谈——第1日:项目模板
- Windows Phone 7 开发 31 日谈——第7日:启动器
- Windows Phone 7 开发 31 日谈——第17日:枢轴控件
- Windows Phone 7 开发 31 日谈——第21日:Silverlight Toolkit for Windows Phone
- Windows Phone 7 开发 31 日谈——第17日:枢轴控件