Vistb's Tiny IT Space

Am I a Geek?

导航

【进化版】基于豆瓣和TrailerAddict的电影信息浏览程序

Posted on 2010-04-12 10:16  Vistb  阅读(691)  评论(2编辑  收藏  举报

这篇日志是想了很久才决定写的,主要是懒得写,不过考虑到很久没在这个博客上发东西而且窗外又在该死的下雨,sigh,还是动手吧~

言归正传,几个月前首次接触豆瓣API时,一时兴奋写了一个用于浏览电影信息的富媒体程序(可以参见我以前的blog文章)。当时这个程序的初衷很简单,一方面是尝试一下豆瓣API和开放平台,另一方面也是想做一个比较炫的多媒体程序。前台图形选用的是基于OpenGL的OpenFrameworks,后台的网络通信等用的是微软的那一套东东,XML文件解析用的是TinyXML。经过几天的鏖战,在身体付出了一定代价之后,其原始版本完工。不过,现在看来,这个程序距离我的初衷还是很远的,一方面是自己相关经验欠缺,另外一方面是工具(尤其是第三方库)的选用欠妥,致使很多功能都无法实现。正因这样,在当时编写代码的后期,其实我已经比较心灰意冷了,代码写的质量很差,只想尽快完工;而在原始版本完成后,也没继续完善和维护。

前段时间,邮箱突然收到了豆瓣的来信,说是豆瓣最近准备做应用展示,请各位开发者去完善自己编写的基于豆瓣API的应用的相关信息。这一看,我的兴致又被吊了起来,主要是对上次的程序的不甘,而且最近几个月也接触了些新东西,想练练手。

这次开发,我接受上次的教训,对后台库的选择比较谨慎,而且对各个功能实现的方法和思路都进行了较深入的思考。选用的后台库是Qt和TinyXML。而且由于选用了Qt,程序估计跨平台也没什么问题。不过,有的同学可能奇怪为什么不用Qt自带的XML解析模块而用TinyXML,嗯,主要是因为前者的XPATH我实在用不来而普通方式解析又比后者麻烦很多。几天奋战之后,程序终于完成,而且也达到了我的既定目标:依托于用户豆瓣提供的丰富的影片资料信息和TrailerAddict提供的丰富的电影预告片信息,使得用户可以依据输入的关键词方便的浏览相应影片的全方位的信息。同时,程序还具有美观的界面。

不过,开发中也遇到了好几个问题,这里就埋怨一下Qt了:(1)QNetworkAccessManager访问网络怎么完全不行,换用QHttp才行。虽然我觉得这可能是我自己的问题,但实在找不出原因(2)QWebView对flash的支持还不完善啊,嵌入到QGraphicsScene里面不能显示flash了(3)Qt 4.7.0 Technology Previews真是Technology Previews,bug很多,QGraphicsTextItem在限定每行最大宽度后渲染文字一多就崩溃,QMediaPlayer在QGraphicsScene里面也是显示不能,只有声音。大家还是老老实实用4.6.2比较保险……

最后,开始一如既往的做广告。

首先,上一个演示视频(音频被优酷转的惨不忍睹,大家静音算了~):

 

然后,有兴趣的同学可以去下载体验一把:http://tinyurl.com/ybua9vr 

最后,源码库:http://code.google.com/p/fun-qt-demos/source/browse/

写完收工~~~