您的位置:首页 > 其它

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

关注博主
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: