文档库 最新最全的文档下载
当前位置:文档库 › 毕业论文(设计)文本规范范例(理工科)

毕业论文(设计)文本规范范例(理工科)

毕业论文(设计)

题目 qDou(豆瓣Symbian客户端) 院系机械工程学院

专业机械设计制造及其自动化年级 2009级学生姓名XXX 学号 XXXXXXXXX 指导教师 XXX

qDou(豆瓣Symbian客户端)

XXX专业

学生指导教师

【摘要】qDou---豆瓣Symbian客户端,采用的是Qt进行编写。豆瓣是一家Web2.0

网站,豆瓣主要通过用户点击及购买电子商务网站的相关产品,来获得收入。

本次设计的qDou将主要是采用Qt的Graphics View框架编写,部分框架运用Declarative UI(Qt的下一代控件),在与豆瓣官方数据接口的交换上,利用豆瓣提供的Api key,通过OAuth协议进行对豆瓣数据的访问,修改以及提交。

利用豆瓣网提供的API结合Qt的下一代控件Declarative UI 轻松的实现了具有平滑,

收放自如, 动态变换的一款豆瓣客户端,这种控件主要针对于移动平台上,比如手机或者

上网本。采用Qml语言使开发者和设计者在完成他们工作的时候更多的高效。另一方面这

种简单易学的语言,是那些不熟悉C++的开发人员可以方便的使用Qt。为了保护豆瓣用户

私有数据的安全,豆瓣采用OAuth协议来完成数据的写入,修改和删除。

S60下豆瓣客户端新增了如搜索书籍,电影,音乐查询,收发豆邮等更强大的功能,同

时你可以读取他们的评论,看看其他豆瓣的用户对这个条目时什么观点或者推荐好的条目

给你的好友。另一方面,qdou 提供了朋友之间的数据可视化,通过豆瓣这个巨大的网络,

你可以发现你与其他人之间的联系,共同的爱好.这些功能满足了时下网络社交生活的需

要,更增加了无穷乐趣。由于使用Qt进行开发,所以qDou可以轻松的发布到Symbian

Maemo,webOs,甚至Android上。

【关键词】豆瓣 APIKey Declarative UI OAuth协议 Qt

qDou(Douban Client On Symbian)

【Abstract】qDou (watercress Symbian client) is developed with Qt.Douban is a Web2.0 website mainly through users to click and buy related e-commerce site products to obtain income.

The design of qDou will be mainly used the framework of Graphics View of Qt to complie, and part of the framework uses Declarative UI which is the next generation control of Qt, in term s of the interface data switching of https://www.wendangku.net/doc/d85272226.html,, it uses API Key afford by www.douban. com, calling, modifying and submitting the data of https://www.wendangku.net/doc/d85272226.html, through OAuth protocol.

With API provided from douban network and combining the next generation widget (Declarative UI) of Qt,qDou has a fabulous fluid user experiences with smooth controls,dynamic user interfaces.The next generation widget is applied to mobile platforms or notebook.It adopts Qml language to make developers and designers more efficient when they work on their projects.On the other hand, this language is easy to learn so that those who are not familiar with C++ developers can easily use the Qt.In order to ensure data security, it uses OAuth protocol for data writing, modification and deletion. It is an open protocol to allow secure API authorization in a simple and standard method from desktop and web applications.

qDou on Symbian added new powerful features such as searching books, movies, music critic, send and receive Douban email.At the same time, you can read these item critic to pay attention the views of other Douban users or recommend a good item to your friends .On the other hand,qdou provided a data visualization about friends through the large network. You may find the relationship or common interests between you and your friends.So it meets the needs of social networks life nowadays. because of adopting Qt for development,It’s easy to realease qDou on multi-platform like Symbian, Maemo ,WebOs, even Android.

【Key words】Douban API Key Declarative UI OAuth protocol Qt

目录

绪论 (1)

1. 开发概述 (2)

1.1背景 (2)

1.2课题来源 (4)

1.3国内外研究现状 (4)

1.4论文主要工作 (7)

1.5论文结构 (7)

2. 相关技术概念 (8)

2.1关于Qt (8)

2.2 OAuth协议 (9)

2.3 豆瓣API (11)

2.4 cookies (11)

3. qDou的设计 (12)

3.1概要设计 (12)

3.1.1程序流程图 (13)

3.1.2模块框架图 (14)

3.1.3系统数据流程图 (14)

3.1.4系统数据结构设计 (14)

3.2系统界面设计 (18)

3.2.1 MVC模型 (18)

3.2.2 qDou中的MVC模型 (19)

3.2.3 C++向qml扩展 (20)

3.2.4 qml中调用 C++形式函数 (21)

3.3 qDou认证 (21)

3.3.1获取未授权的Request Token (22)

3.3.2请求用户授权Request Token (22)

3.3.3使用授权后的Request Token换取Access Token (22)

3.3.4使用 Access Token 访问或修改受保护资源 (23)

3.4利用NetworkAccessManager在本地储存Cookies (23)

3.4.1 NetworkCookiejar与NetworkCookie的关系 (23)

3.4.2将Cookies导入Webkit (24)

3.5 PhotoView (豆瓣关系可视化) (24)

3.5.1基于GraphicsView (24)

3.5.2豆瓣用户信息的获取数据的获取...................................................................... .25

4. 实现运行 (25)

5. 测试 (26)

总结以及展望 (28)

参考文献 (29)

附录 (32)

致谢. (33)

绪论

现实社会中,人与人的交流是通过人与人之间的介绍、握手来形成一个朋友圈、联系圈的,每个人不需要直接认识所有人,只需要通过他的朋友,朋友的朋友,就能促成一次握手。而普通的网络交际,则大多数通过某些平台来实现,比如将自己放到一个平台中去,让很多人看到,并且联系你认识你。两者的优缺点明显,社会性交际优点是可靠,彼此关系建立在可靠的人际网络上,缺点是产生握手的时间长、代价较高;平台式的网络交际优点是成本低,但不可靠。

那么在网络中将这套机制拷贝,即在理论上,获得可靠与低成本的双重优点。还有一些优点就是,SNS中,在朋友圈内关系往往真实度很高,非常可靠,互相之间不存在所谓网络的“假面具”,因此,比较容易实现实名制;sns基于人传人联系网络,一传多,多传多,利用网络这一低廉而快速的平台,网络建立的速度会非常快,这又使得建立人脉网络的成本进一步降低。

先说个题外话,其实有关Web 2.0,除开技术细节,完全由网民去发表内容、形成舆论,在我看来,并非完全行得通。如果是服务信息性的还好,但敏感信息呢?把舆论不加控制地放任自流,在一个完全理想化的民主社会是可能的,但目前还不行,这里面有多种原因。并且,网民实名制目前未能推行,每个人在网上说话不需要负责这种想法到处都是,如何控制不负责任的言论?所以Web 2.0在现实环境中,不可能放得很开。

说了这么多题外话,其实只是说,如果真要做不需网站管理员控制的言论网站,SNS 算是一个较为理想的Web 2.0手段。理由很简单,SNS较为贴近实名制,线上线下的身份比较一致。由此可看出来,SNS是未来一个有前景的东西,至少在国内是如此。这方面的市场缺口很大,既然传统媒体都转向网络了,社会交际,又如何只能光靠见面吃饭打电话呢?

到2000年,搜索引擎的发展影响了人们的生活方式,谷歌已经成为人们日常生活不可缺少的一部分。随后,互联网的发展进一步扩展到Y一代人群(1978年及其后出生的一代),社交网站也随之兴起,并迅速吸引了一大批25岁至34岁、甚至年龄更大的用户群。

社交网站正在改变我们使用互联网的方式,而搜索引擎不再是美国流量最大的网站也就不让人意外了。数据显示,社交网站在2006年6月超越搜索引擎,成为流量最大的网站类别,而Facebook的热门程度甚至超过某些色情网站。

社交网站将取代搜索引擎吗?我不想深究。也许危机本来就存在于搜索引擎的自身特性中。比如,过去,我们一边在谷歌中输入问题,一边拨打远在印度的呼叫中心寻求支持。但现在,我们不再需要谷歌,我们去Facebook。在Facebook上,用户不需要找信息,相反,信息自动找上门。

搜索引擎在互联网发展初期,为广大对网络一窍不通的用户指明了方向,通过最简单

的信息索引推荐服务为大众提供了便利!但是随着网络的发展,用户的自主性和能动性也逐渐提升,网络习惯也在发生着潜移默化的微妙变化。虽然我并不认同互联网使用模式将在近期有大的变迁,但是随着社交网络的发展和网民网络熟练性的提升,这种趋势非常明显!也就是说,要寻求长远的发展规划,就必须考虑如何创建这种社交并应用到不同行业的网络运营规划中去。

1 开发概述

随着互联网高速的发展,社交网站也日益壮大,有人甚至预测社交网站引爆互联网的第三次革命,Google也在此时宣传下一代的搜索应该是社交化搜索,那么社交网络是如何吸引年轻人的呢,它是怎样改变人们传统的生活和工作方式,社交网络在传统的媒体的影响下是如何快速成才并不断壮大的呢?它与传统媒体有何区别呢?

1.1 背景

让我们先来看一组数据,看看全球各大社交网站也在创造着自己的奇迹:

1. 2010年2月2日,据国外媒体报道,Facebook正赶超雅虎将成为全球第三大网站,与微软谷歌领衔前三。

2. 2009年12月,Facebook的独立人次达到了4.69亿。

3.美国互联网流量监测机构Experian Hitwise日前公布报告称,在截至3月15日的一周里,社交网站Facebook超过Google成为美国访问量最大的网站。

4.Twitter作为移动社交网站,其研究小组发现平均每天的 Tweets 数量从 2009 年的250 万一直上涨到了 2010 年 1 月的 500 万。

5. 2009年移动Twitter用户的增长速度达到惊人的2800%。

6. Twitter宣布收购第三方iPhone客户端Tweetie。

7. Facebook是全球第一大社交网站,用户数量近5亿。

3 qDou的设计

本章将详细叙述qDou设计过程,包含具体的程序流程,数据流程,数据结构,OAuth 在qDou中一步一步完成认证的过程。Qml中mvc架构,photoview中的GraphicsView框架,在qDou中储存本地cookies。

3.1 概要设计

UI方面:关于Declarative UI,是基于Graphics View框架打造的下一代控件。主要

针对于移动平台上,比如手机或者上网本,并且具有独特的Flick特性,使其本身通过很简单的接口调用便可具有平滑,动态变换的UI,同时加上Declarative本身所采用的Qml语言是基于ECMAScript。这种比较松散的声明性编程语言使得懂得JavaScript或者ActionScript的编程人员,也可写出漂亮的应用程序。由于Declarative UI的属性绑定(Property Binding),对网络访问的透明(Network Transparency: 内部自动加载请求资源)以及良好的C++扩展(Extending QML),使得其不仅可适用手机上的开发,同时利用良好的C++扩展特性也可打造丰富的pc平台上的应用。对于简单的手机应用来说,在不使用C++扩展的情况下,已经能满足开发者的需求,但是对于qDou来说,由于豆瓣API支持OAuth 协议,为了更好的使用遵循协议要求和第三方开发的规范,使qDou在支持QML的同时能够支持C++,也是必要的,同时这种语言采用的是MVC结构。

数据方面: 豆瓣提供了第三方API,通过xml文件来进行交互,而对数据进行修改,提交的,需要适用OAuth协议进行授权,关于OAUTH协议,它为用户资源的授权提供了一个安全的、开放而又简易的标准。与以往的授权方式不同之处是OAUTH的授权不会使第三方触及到用户的帐号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权。

3.1.1 程序流程图

图 3-1程序流程图

表3.1用户信息表

名称字段名称类型主键非空用户编号UserID 数字Yes Yes 用户名称db:uid 文本No Yes 签名Isadmin 文本No No 城市db:location 文本No No 用户头像图片地址link rel="icon" 文本No No

表3.4音乐表

名称字段名称类型主键非空音乐编号ItemID 数字Yes Yes 音乐名称Itemname 文本No Yes 表演者Author 文本No Yes 唱片数Number 数字No Yes ISRC Ean 文本No No 发行时间Pubdate 日期No No 版本特性Language 数字No No

表3.4音乐表(续表)

出版商Publisher 文本No No 介质Type 数字No No 评级Date 数字No No

参考文献

[1]Qt参考手册

https://www.wendangku.net/doc/d85272226.html,/4.6/assistant-manual.html

https://www.wendangku.net/doc/d85272226.html,/4.7-snapshot/qt4-7-intro.html#declarative-ui-development-with -qt-quick 2009-012-09

[2] OAuth无痛入门指南

https://www.wendangku.net/doc/d85272226.html,/blog/510070 2009-12-09

附录:

qDou就在家里的两台机子上测试了一下,可能有很多不足的地方,最终是要部署到移动设备上Maemo(轻松些),S60上恐怕到时候要裁剪很多(原因有三:1硬件条件 2oAuth协议 3photoView),便先写了一个PC版本,现在正忙着发布KDE下的版本和源代码,因为涉及到openssl,qca,qca-ssl,qoauth,还有qtdeclarative现在还处于技术预览版的阶段,3月份 qtdeclarative应该正式被纳入qt标准库里面.所以,我这段时间还没有开发源码,大家也多提意见和报bug上来,把毕业设计报告提交了,开放源码。

qDou图片:https://www.wendangku.net/doc/d85272226.html,/photos/album/23769514/

qDou视频:https://www.wendangku.net/doc/d85272226.html,/v_show/id_XMTU0NTkzMjI0.html

qDou下载地址:https://www.wendangku.net/doc/d85272226.html,/files/qDou%200.2.5-setup.exe (这是0.2.5最新的) qDou小组:https://www.wendangku.net/doc/d85272226.html,/group/223244/

更多qDou的详细信息见此:https://www.wendangku.net/doc/d85272226.html,/p/qdou/

致谢

………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………

页面设置:页边距为上2.5cm, 下2.5cm, 左2.5cm, 右2 cm,装订线0;

页眉边距为1.5cm,页脚边距为1.5cm;

行间距:最小值20磅

相关文档