WEB开发网
开发学院软件开发Java 实战 Groovy: SwingBuilder 和 Twitter API,第 1... 阅读

实战 Groovy: SwingBuilder 和 Twitter API,第 1 部分:构建基于 Swing 的 GUI 从未如此简便

 2009-11-18 00:00:00 来源:WEB开发网   
核心提示:我最近会见了 Ted Neward,他是 IBM developerWorks 文章系列 面向 Java 开发人员的 Scala 指南 的作者,实战 Groovy: SwingBuilder 和 Twitter API,第 1 部分:构建基于 Swing 的 GUI 从未如此简便,我们讨论了他在这个系列中构建的一个有意

我最近会见了 Ted Neward,他是 IBM developerWorks 文章系列 面向 Java 开发人员的 Scala 指南 的作者。我们讨论了他在这个系列中构建的一个有意思的 Twitter 库,Scitter (Scala + Twitter)。Scitter 的重点在于 Scala 的 Web 服务和 XML 解析功能,Ted 承认他不太关心为这个 API 提供前端。当然,这启发我考虑用 Groovy 编写一个 Twitter GUI 会怎么样?Gwitter (Groovy + Twitter) 是个不错的名字吧?

在本文中我不打算讨论 Scala 和 Groovy 的集成,尽管在这两种语言之间确实有许多协作的可能性。相反,我要讨论 Java 领域中常常被 Java 开发人员忽视的一个主题:Swing。但是,在此之前,我先谈谈 Groovy 的 XmlSlurper 如何简化 Twitter 的 Atom feed。

Twitter Search API

看一下 Twitter Search API 的在线文档。文档表明可以通过发出简单的 HTTP GET 请求搜索 Twitter。查询通过查询字符串中的 q 参数传递,结果以 Atom(一种 XML 联合格式)或 JavaScript Object Notation (JSON) 的形式返回。因此,要想以 Atom 的形式得到所有提到 thirstyhead 的条目,需要发出下面这样的 HTTP GET 请求:http://search.twitter.com/search.atom?q=thirstyhead。

如清单 1 所示,返回的结果是嵌套在 <feed> 元素中的一系列 <entry> 元素:


清单 1. Twitter 搜索 Atom 结果
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom"> 
 <entry> 
  <title>thirstyhead: New series from Andrew Glover: Java Development 2.0 
      http://bit.ly/bJX5i</title> 
  <content type="html">thirstyhead: New series from Andrew Glover: Java 
             Development 2.0 http://bit.ly/bJX5i</content> 
  <id>tag:twitter.com,2007: 
    http://twitter.com/thirstyhead/statuses/3419507135</id> 
  <published>2009-08-20T02:54:54+00:00</published> 
  <updated>2009-08-20T02:54:54+00:00</updated> 
  <link type="text/html" rel="alternate" 
     href="http://twitter.com/thirstyhead/statuses/3419507135"/> 
  <link type="image/jpeg" rel="image" 
     href="http://s3.amazonaws.com/twitter_production/profile_images/ 
     73550313/flame_normal.jpg"/> 
  <author> 
   <name>ThirstyHead.com</name> 
   <uri>http://www.thirstyhead.com</uri> 
  </author> 
 </entry> 
 
 <entry>...</entry> 
 <entry>...</entry>  
 <!-- snip --> 
</feed> 

1 2 3 4 5 6  下一页

Tags:实战 Groovy SwingBuilder

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接